/[thuban]/trunk/thuban/test/test_classgen.py
ViewVC logotype

Diff of /trunk/thuban/test/test_classgen.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1166 by jonathan, Thu Jun 12 12:42:24 2003 UTC revision 1362 by jonathan, Wed Jul 2 12:59:34 2003 UTC
# Line 23  from Thuban.Model.classgen import \ Line 23  from Thuban.Model.classgen import \
23      calculate_quantiles, \      calculate_quantiles, \
24      GreyRamp      GreyRamp
25  from Thuban.Model.range import Range  from Thuban.Model.range import Range
26    from Thuban.Model.color import Color
27    
28  from Thuban.Model.classification import ClassGroupRange  from Thuban.Model.classification import ClassGroupRange
29    
# Line 30  class ClassGenTest(unittest.TestCase): Line 31  class ClassGenTest(unittest.TestCase):
31    
32      def doClassRangeTest(self, clazz, ranges):      def doClassRangeTest(self, clazz, ranges):
33          self.assertEquals(clazz.GetNumGroups(), len(ranges))          self.assertEquals(clazz.GetNumGroups(), len(ranges))
34          for i in range(len(ranges)):          for i in range(clazz.GetNumGroups()):
35              group = clazz.GetGroup(i)              group = clazz.GetGroup(i)
36              r1 = str(Range(ranges[i]))              r1 = str(Range(ranges[i]))
37              r2 = group.GetRange()              r2 = group.GetRange()
38              self.assertEquals(r1, r2)              self.assertEquals(r1, r2)
39    
40            self.doBoundsTest(clazz)
41    
42      def doClassSingleTest(self, clazz, _list):      def doClassSingleTest(self, clazz, _list):
43          self.assertEquals(clazz.GetNumGroups(), len(_list))          self.assertEquals(clazz.GetNumGroups(), len(_list))
44          for i in range(len(_list)):          for i in range(clazz.GetNumGroups()):
45              group = clazz.GetGroup(i)              group = clazz.GetGroup(i)
46              self.assertEquals(group.GetValue(), _list[i])              self.assertEquals(group.GetValue(), _list[i])
47    
48            self.doBoundsTest(clazz)
49    
50        def doBoundsTest(self, clazz, ramp = GreyRamp):
51    
52            #
53            # check that the properties are right (i.e. the first group
54            # is all white, the last is all black). This assumes that
55            # the GreyRamp, unless another is provided.
56            #
57            if clazz.GetNumGroups() >= 1:
58                groupF = clazz.GetGroup(0)
59                first = ramp.GetProperties(0)
60                self.assertEquals(groupF.GetProperties(), first)
61    
62            if clazz.GetNumGroups() >= 2:
63                groupL = clazz.GetGroup(clazz.GetNumGroups() - 1)
64                last = ramp.GetProperties(1)
65                self.assertEquals(groupL.GetProperties(), last)
66                            
67      def test_generate_singletons(self):      def test_generate_singletons(self):
68          """Test generate_singletons"""          """Test generate_singletons"""
69    
70          eq = self.assertEquals          eq = self.assertEquals
71          gs = generate_singletons          gs = generate_singletons
72          ramp = GreyRamp()          ramp = GreyRamp
73    
74          _list = [1, 2, 3, 4]          _list = [1, 2, 3, 4]
75          cl = gs(_list, len(_list), ramp)          cl = gs(_list, ramp)
76          self.doClassSingleTest(cl, _list)          self.doClassSingleTest(cl, _list)
77    
78          _list = range(0, 100)          _list = range(0, 100)
79          cl = gs(_list, len(_list), ramp)          cl = gs(_list, ramp)
80          self.doClassSingleTest(cl, _list)          self.doClassSingleTest(cl, _list)
81    
82          _list = range(-100, 100)          _list = range(-100, 100)
83          cl = gs(_list, len(_list), ramp)          cl = gs(_list, ramp)
84          self.doClassSingleTest(cl, _list)          self.doClassSingleTest(cl, _list)
85    
86          _list = ['a', 'b', 'c', 'd']          _list = ['a', 'b', 'c', 'd']
87          cl = gs(_list, len(_list), ramp)          cl = gs(_list, ramp)
88          self.doClassSingleTest(cl, _list)          self.doClassSingleTest(cl, _list)
89    
90          _list = []          _list = []
91          cl = gs(_list, len(_list), ramp)          cl = gs(_list, ramp)
92          self.doClassSingleTest(cl, _list)          self.doClassSingleTest(cl, _list)
93    
94          _list = [1]          _list = [1]
95          cl = gs(_list, len(_list), ramp)          cl = gs(_list, ramp)
96          self.doClassSingleTest(cl, _list)          self.doClassSingleTest(cl, _list)
97                    
98    
# Line 79  class ClassGenTest(unittest.TestCase): Line 101  class ClassGenTest(unittest.TestCase):
101    
102          eq = self.assertEquals          eq = self.assertEquals
103          gud = generate_uniform_distribution          gud = generate_uniform_distribution
104          ramp = GreyRamp()          ramp = GreyRamp
105    
106          cl = gud(0, 99, 10, ramp, True)          cl = gud(0, 99, 10, ramp, True)
107          self.doClassRangeTest(cl, ("[0;10[", "[10;20[", "[20;30[", "[30;40[",          self.doClassRangeTest(cl, ("[0;10[", "[10;20[", "[20;30[", "[30;40[",
# Line 110  class ClassGenTest(unittest.TestCase): Line 132  class ClassGenTest(unittest.TestCase):
132    
133          gq = generate_quantiles          gq = generate_quantiles
134    
135          ramp = GreyRamp()          ramp = GreyRamp
136    
137          adj, cl = gq([1, 2, 3, 4], [.25, .5, .75, 1.0], ramp, Range("[1;4]"))          adj, cl = gq([1, 2, 3, 4], [.25, .5, .75, 1.0], ramp, Range("[1;4]"))
138          self.failIf(adj)          self.failIf(adj)

Legend:
Removed from v.1166  
changed lines
  Added in v.1362

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26