File: test_export.py

package info (click to toggle)
thuban 1.2.0-2.1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 7,152 kB
  • ctags: 5,084
  • sloc: python: 28,732; ansic: 6,181; xml: 4,117; cpp: 1,564; makefile: 112; sh: 72
file content (57 lines) | stat: -rw-r--r-- 1,942 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Copyright (c) 2002, 2003 by Intevation GmbH
# Authors:
# Frank Koormann <frank.koormann@intevation.de>
#
# This program is free software under the GPL (>=v2)
# Read the file COPYING coming with Thuban for details.

"""
Test the Thuban export calculations
"""

__version__ = "$Revision: 1454 $"
# $Source$
# $Id: test_export.py 1454 2003-07-18 14:41:04Z bh $

import unittest

import support
support.initthuban()

from Thuban.UI.viewport import output_transform

class TestScalebar(unittest.TestCase, support.FloatComparisonMixin):

    """Test cases for the Thuban export calculations
    """

    def test_output_transform(self):
        """Test output_transform()."""

        scale, offset, mapregion = output_transform(1.0, (0,0),
                                                   (200, 100), (200, 100))
        self.assertFloatEqual(0.3, scale)
        self.assertFloatSeqEqual((0.0, 0.0), offset)
        self.assertFloatSeqEqual((20.0, 20.0, 80.0, 80.0), mapregion)

        scale, offset, mapregion = output_transform(1.0, (0,0),
                                                   (200, 100), (100, 200))
        self.assertFloatEqual(0.16, scale)
        self.assertFloatSeqEqual((0.0, 0.0), offset)
        self.assertFloatSeqEqual((20.0, 20.0, 52.0, 52.0), mapregion)

        scale, offset, mapregion = output_transform(1.0, (5,5),
                                                   (200, 100), (100, 100))
        self.assertFloatEqual(0.16, scale)
        self.assertFloatSeqEqual((0.8, 0.8), offset)
        self.assertFloatSeqEqual((20.0, 20.0, 52.0, 52.0), mapregion)

        scale, offset, mapregion = output_transform(1.0, (0,0),
                                                   (200, 100), (200, 200))
        self.assertFloatEqual(0.52, scale)
        self.assertFloatSeqEqual((0.0, 0.0), offset)
        self.assertFloatSeqEqual((20, 20, 124.0, 124.0), mapregion)


if __name__ == "__main__":
    unittest.main()