/[thuban]/branches/WIP-pyshapelib-bramz/test/test_scalebar.py
ViewVC logotype

Contents of /branches/WIP-pyshapelib-bramz/test/test_scalebar.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2734 - (show annotations)
Thu Mar 1 12:42:59 2007 UTC (18 years ago) by bramz
File MIME type: text/x-python
File size: 2857 byte(s)
made a copy
1 # Copyright (c) 2002 by Intevation GmbH
2 # Authors:
3 # Frank Koormann <[email protected]>
4 #
5 # This program is free software under the GPL (>=v2)
6 # Read the file COPYING coming with Thuban for details.
7
8 """
9 Test the Thuban scalebar calculations
10 """
11
12 __version__ = "$Revision$"
13 # $Source$
14 # $Id$
15
16 import unittest
17 import os
18
19 import support
20 support.initthuban()
21
22 from Thuban.Model.scalebar import deriveInterval, roundInterval
23
24 class TestScalebar(unittest.TestCase, support.FloatComparisonMixin):
25
26 """Test cases for the Thuban scalebar calculations
27 """
28
29 def test_deriveInterval(self):
30 """Test scalebar.deriveInterval()"""
31
32 # Zero savety
33 interval, unit = deriveInterval(100, 0.0)
34 self.assertEquals(interval, -1)
35 self.assertEquals(unit, '')
36
37 # meters
38 interval, unit = deriveInterval(100, 0.5)
39 self.assertEquals(interval, 200)
40 self.assertEquals(unit, 'm')
41
42 # kilometer conversion
43 interval, unit = deriveInterval(100, 0.05)
44 self.assertEquals(interval, 2)
45 self.assertEquals(unit, 'km')
46
47 def test_roundInterval(self):
48 """Test scalebar.roundInterval()"""
49
50 # 0.0005
51 interval, label = roundInterval(0.000545943795)
52 self.assertFloatEqual(interval, 0.0005)
53 self.assertEquals(label, '0.0005')
54
55 # 0.005
56 interval, label = roundInterval(0.00545943795)
57 self.assertFloatEqual(interval, 0.005)
58 self.assertEquals(label, '0.005')
59
60 # 0.05
61 interval, label = roundInterval(0.0545943795)
62 self.assertFloatEqual(interval, 0.05)
63 self.assertEquals(label, '0.05')
64
65 # 0.5
66 interval, label = roundInterval(0.545943795)
67 self.assertFloatEqual(interval, 0.5)
68 self.assertEquals(label, '0.5')
69
70 # 5
71 interval, label = roundInterval(5.45943795)
72 self.assertFloatEqual(interval, 5)
73 self.assertEquals(label, '5')
74
75 # 50
76 interval, label = roundInterval(54.5943795)
77 self.assertFloatEqual(interval, 50)
78 self.assertEquals(label, '50')
79
80 # 500
81 interval, label = roundInterval(545.943795)
82 self.assertFloatEqual(interval, 500)
83 self.assertEquals(label, '500')
84
85 # 5000
86 interval, label = roundInterval(5459.43795)
87 self.assertFloatEqual(interval, 5000)
88 self.assertEquals(label, '5000')
89
90 # 50000
91 interval, label = roundInterval(54594.3795)
92 self.assertFloatEqual(interval, 50000)
93 self.assertEquals(label, '50000')
94
95 # 500000
96 interval, label = roundInterval(545943.795)
97 self.assertFloatEqual(interval, -1)
98 self.assertEquals(label, '')
99
100 if __name__ == "__main__":
101 unittest.main()
102

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26