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

Annotation of /branches/WIP-pyshapelib-bramz/test/test_range.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 905 - (hide annotations)
Wed May 14 11:16:48 2003 UTC (21 years, 9 months ago) by jonathan
Original Path: trunk/thuban/test/test_range.py
File MIME type: text/x-python
File size: 3845 byte(s)
New. Imported from SciParam.

1 jonathan 905 #!/usr/bin/env python
2     #
3     # Copyright (C) 2002, 2003 by Intevation GmbH
4     # Authors:
5     # Thomas Koester <[email protected]>
6     #
7     # This program is free software under the GPL (>=v2)
8     # Read the file COPYING coming with the software for details.
9    
10     """
11     Unit test for range.py
12     """
13    
14     __version__ = "$Revision$"
15     # $Source$
16     # $Id$
17    
18     import unittest
19    
20     import support
21     support.initthuban()
22    
23     from Thuban.Model.range import Range
24     from Thuban.Model.range import _inf
25    
26    
27     class Importing(unittest.TestCase):
28    
29     Range = Range
30    
31     def test_import1(self):
32     """import Thuban.Model.range"""
33     import Thuban.Model.range
34     self.assert_(Thuban.Model.range.Range is self.Range)
35    
36     def test_import2(self):
37     """import Thuban.Model.range.range"""
38     import Thuban.Model.range
39     self.assert_(Thuban.Model.range.Range is self.Range)
40    
41     def test_import3(self):
42     """from Thuban.Model.range import Range"""
43     from Thuban.Model.range import Range
44     self.assert_(Range is self.Range)
45    
46     #
47     # SyntaxWarning to import *
48     #
49     #def test_import4(self):
50     #"""from Thuban.Model.range import *"""
51     #from Thuban.Model.range import *
52     #self.assert_(Range is self.Range)
53    
54    
55     class RangeTest(support.FloatTestCase):
56    
57     def test_equal(self):
58     """test if different ways to create a range yield equal ranges"""
59     range = Range()
60     self.assertEqual(range, Range(''))
61     self.assertEqual(range, Range(']-oo;oo['))
62     range.SetRange('[0;1]')
63     self.assertEqual(range, Range('[000;1.0]'))
64     range2 = range
65     self.assertEqual(range, range2)
66     range3 = Range(range)
67     self.assertEqual(range3, range2)
68     range = Range(']0;99]')
69     self.assertEqual(range, Range(']0;99E+00]'))
70     self.assertEqual(range, Range(']0;9.9E+01]'))
71     self.assertEqual(range, Range(']0;990E-01]'))
72     self.assertEqual(range, Range(']0;.99E+02]'))
73    
74     def test_different(self):
75     """test if different ranges are different"""
76     range = Range('[-1;1]')
77     self.failIfEqual(range, Range(']-1;1]'))
78     self.failIfEqual(range, Range('[-1;1['))
79     self.failIfEqual(range, Range(']-1;1['))
80     self.failIfEqual(range, Range('[0;1]'))
81     self.failIfEqual(range, Range('[-1;0]'))
82    
83     def test_contains(self):
84     """test value in range"""
85     range = Range(']0;99]')
86     for value in [-0.1, 0, 99.1]:
87     self.failIf(value in range)
88     for value in [0.1, 9.9, 99]:
89     self.assert_(value in range)
90     range = Range('[-oo;0]')
91     for value in [0.1, float('1e100'), float('1e10000')]:
92     self.failIf(value in range)
93     for value in [0.0, float('-1e100'), float('-1e10000')]:
94     self.assert_(value in range)
95    
96     def test_float(self):
97     """test string to float conversion"""
98     range = Range()
99     self.assertFloatEqual(range.float('oo'), _inf)
100     self.assertFloatEqual(range.float('-oo'), -_inf)
101     for value in [-100000000000000000000l, 12345.6789, 0, 0.0, 5.30e20]:
102     self.assertFloatEqual(range.float(str(value)), value)
103    
104     def test_short_range(self):
105     """test if range parser handles short ranges"""
106     range = Range('[0;0]')
107     self.failIf(-0.001 in range)
108     self.assert_(0 in range)
109     self.failIf(0.001 in range)
110    
111     def test_bad_ranges(self):
112     """test if range parser raises correct exception on bad ranges"""
113     for range in [0, 1.1]:
114     self.assertRaises(TypeError, Range, range)
115     for range in ['x', ']x;9]', ']]0;1]', '[0;1]]', '[0;x]', '0',
116     '[0]', '[;]', '[0;]', '[;0]', '[1;0]',
117     ']0;0]', '[0;0[', ']0;0[']:
118     self.assertRaises(ValueError, Range, range)
119    
120    
121     if __name__ == "__main__":
122     unittest.main()

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26