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

Diff of /branches/WIP-pyshapelib-bramz/test/test_classification.py

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

revision 1903 by bh, Fri Oct 31 16:52:33 2003 UTC revision 1905 by bh, Fri Oct 31 17:09:58 2003 UTC
# Line 255  class TestClassification(unittest.TestCa Line 255  class TestClassification(unittest.TestCa
255    
256      """Test cases for Classification"""      """Test cases for Classification"""
257    
258        def setUp(self):
259            self.clazz = Classification()
260    
261      def test_defaults(self):      def test_defaults(self):
262          """Test Classification default settings"""          """Test Classification default settings"""
263          c = Classification()          c = Classification()
264          self.assertEqual(c.FindGroup(-1), c.GetDefaultGroup())          self.assertEqual(self.clazz.FindGroup(-1),
265          self.assertEqual(c.GetDefaultLineColor(), Black)                           self.clazz.GetDefaultGroup())
266          self.assertEqual(c.GetDefaultFill(), Transparent)          self.assertEqual(self.clazz.GetDefaultLineColor(), Black)
267            self.assertEqual(self.clazz.GetDefaultFill(), Transparent)
268    
269          # The default group is not counted, hence 0 groups          # The default group is not counted, hence 0 groups
270          self.assertEqual(c.GetNumGroups(), 0)          self.assertEqual(self.clazz.GetNumGroups(), 0)
271    
272      def test_set_default_properties(self):      def test_set_default_properties(self):
273          """Test Classification.SetDefaultLineColor and SetDefaultFill"""          """Test Classification.SetDefaultLineColor and SetDefaultFill"""
274          c = Classification()          c = Classification()
275    
276          c.SetDefaultLineColor(red)          self.clazz.SetDefaultLineColor(red)
277          self.assertEqual(c.GetDefaultLineColor(), red)          self.assertEqual(self.clazz.GetDefaultLineColor(), red)
278          self.assertEqual(c.GetDefaultFill(), Transparent)          self.assertEqual(self.clazz.GetDefaultFill(), Transparent)
279    
280          c.SetDefaultFill(green)          self.clazz.SetDefaultFill(green)
281          self.assertEqual(c.GetDefaultFill(), green)          self.assertEqual(self.clazz.GetDefaultFill(), green)
282          self.assertEqual(c.GetDefaultLineColor(), red)          self.assertEqual(self.clazz.GetDefaultLineColor(), red)
283    
284      def test_add_singleton(self):      def test_add_singleton(self):
285          """Test Classification.AppendGroup(ClassGroupSingleton())"""          """Test Classification.AppendGroup(ClassGroupSingleton())"""
286          c = Classification()          c = Classification()
287          self.assertEquals(c.FindGroup(5), c.GetDefaultGroup())          self.assertEquals(self.clazz.FindGroup(5),
288                              self.clazz.GetDefaultGroup())
289    
290          s = ClassGroupSingleton(5)          s = ClassGroupSingleton(5)
291          c.AppendGroup(s)          self.clazz.AppendGroup(s)
292          self.assertEquals(c.FindGroup(5), s)          self.assertEquals(self.clazz.FindGroup(5), s)
293          self.assertEquals(c.FindGroup(0), c.GetDefaultGroup())          self.assertEquals(self.clazz.FindGroup(0),
294                              self.clazz.GetDefaultGroup())
295    
296      def test_add_range(self):      def test_add_range(self):
297          """Test Classification.AppendGroup(ClassGroupRange())"""          """Test Classification.AppendGroup(ClassGroupRange())"""
298          c = Classification()          c = Classification()
299          self.assertEquals(c.FindGroup(0), c.GetDefaultGroup())          self.assertEquals(self.clazz.FindGroup(0),
300                              self.clazz.GetDefaultGroup())
301    
302          r = ClassGroupRange((-10, 10))          r = ClassGroupRange((-10, 10))
303          c.AppendGroup(r)          self.clazz.AppendGroup(r)
304          self.assertEquals(c.FindGroup(-11), c.GetDefaultGroup())          self.assertEquals(self.clazz.FindGroup(-11),
305          self.assertEquals(c.FindGroup(-10), r)                            self.clazz.GetDefaultGroup())
306          self.assertEquals(c.FindGroup(9), r)          self.assertEquals(self.clazz.FindGroup(-10), r)
307          self.assertEquals(c.FindGroup(5), r)          self.assertEquals(self.clazz.FindGroup(9), r)
308          self.assertEquals(c.FindGroup(10), c.GetDefaultGroup())          self.assertEquals(self.clazz.FindGroup(5), r)
309            self.assertEquals(self.clazz.FindGroup(10),
310                              self.clazz.GetDefaultGroup())
311    
312      def test_multiple_groups(self):      def test_multiple_groups(self):
313          """Test Classification with multiple groups"""          """Test Classification with multiple groups"""
314          c = Classification()          c = Classification()
315    
316            # two singletons matching 1 to test whether they're tested in
317            # the right order. Use a non default fill on the second to make
318            # it compare unequal to the first.
319          s1 = ClassGroupSingleton(1)          s1 = ClassGroupSingleton(1)
320          s1a = ClassGroupSingleton(1)          s1a = ClassGroupSingleton(1)
321            s1a.GetProperties().SetFill(blue)
322            # Sanity check: are they considered different?
323            self.assertNotEqual(s1, s1a)
324    
325          s2 = ClassGroupSingleton(2)          s2 = ClassGroupSingleton(2)
326          r = ClassGroupRange((-10, 10))          r = ClassGroupRange((-10, 10))
327    
328          c.AppendGroup(s1)          self.clazz.AppendGroup(s1)
329          c.AppendGroup(s2)          self.clazz.AppendGroup(s2)
330          c.AppendGroup(s1a)          self.clazz.AppendGroup(s1a)
331          c.AppendGroup(r)          self.clazz.AppendGroup(r)
332    
333          self.assertEquals(c.FindGroup(-11), c.GetDefaultGroup())          self.assertEquals(self.clazz.FindGroup(-11),
334          self.assertEquals(c.FindGroup(-10), r)                            self.clazz.GetDefaultGroup())
335          self.assertEquals(c.FindGroup(1), s1)          self.assertEquals(self.clazz.FindGroup(-10), r)
336          self.assertEquals(c.FindGroup(2), s2)          self.assertEquals(self.clazz.FindGroup(1), s1)
337          self.assertEquals(c.FindGroup(3), r)          self.assertEquals(self.clazz.FindGroup(2), s2)
338          self.assertEquals(c.FindGroup(9), r)          self.assertEquals(self.clazz.FindGroup(3), r)
339          self.assertEquals(c.FindGroup(10), c.GetDefaultGroup())          self.assertEquals(self.clazz.FindGroup(9), r)
340            self.assertEquals(self.clazz.FindGroup(10),
341                              self.clazz.GetDefaultGroup())
342    
343      def test_deepcopy(self):      def test_deepcopy(self):
344          """Test deepcopy(Classification())"""          """Test deepcopy(Classification())"""
345          c = Classification()          self.clazz.AppendGroup(ClassGroupSingleton(5))
346          c.AppendGroup(ClassGroupSingleton(5))          self.clazz.AppendGroup(ClassGroupRange((-10, 10)))
         c.AppendGroup(ClassGroupRange((-10, 10)))  
347    
348          clazz = copy.deepcopy(c)          clazz = copy.deepcopy(self.clazz)
349    
350          self.assertEquals(clazz.GetNumGroups(), c.GetNumGroups())          self.assertEquals(clazz.GetNumGroups(), self.clazz.GetNumGroups())
351    
352          for i in range(clazz.GetNumGroups()):          for i in range(clazz.GetNumGroups()):
353              self.assertEquals(clazz.GetGroup(i), c.GetGroup(i))              self.assertEquals(clazz.GetGroup(i), self.clazz.GetGroup(i))
354    
355    
356      def test_iterator(self):      def test_iterator(self):
# Line 341  class TestClassification(unittest.TestCa Line 359  class TestClassification(unittest.TestCa
359                    ClassGroupRange((-3, 3)), ClassGroupSingleton(-5),                    ClassGroupRange((-3, 3)), ClassGroupSingleton(-5),
360                    ClassGroupDefault()]                    ClassGroupDefault()]
361    
         clazz = Classification()  
   
362          for g in groups:          for g in groups:
363              clazz.AppendGroup(g)              self.clazz.AppendGroup(g)
364    
365          def convert(clazz):          def convert(group):
366              if isinstance(clazz, ClassGroupDefault):   return 0              if isinstance(group, ClassGroupDefault):   return 0
367              if isinstance(clazz, ClassGroupSingleton): return 1              if isinstance(group, ClassGroupSingleton): return 1
368              if isinstance(clazz, ClassGroupRange):     return 2              if isinstance(group, ClassGroupRange):     return 2
369    
370          list = []          list = []
371          for g in clazz:          for g in self.clazz:
372              list.append(convert(g))              list.append(convert(g))
373    
374          self.assertEquals(list, [0, 1, 1, 2, 1, 0])          self.assertEquals(list, [0, 1, 1, 2, 1, 0])

Legend:
Removed from v.1903  
changed lines
  Added in v.1905

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26