/[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 1905 by bh, Fri Oct 31 17:09:58 2003 UTC revision 1907 by bh, Fri Oct 31 17:35:11 2003 UTC
# Line 13  __version__ = "$Revision$" Line 13  __version__ = "$Revision$"
13  # $Source$  # $Source$
14  # $Id$  # $Id$
15    
 from __future__ import nested_scopes  
   
16  import unittest  import unittest
17    
18  import support  import support
19  support.initthuban()  support.initthuban()
20    
 import os  
21  import copy  import copy
22    
23  from Thuban.Model.color import Color, Transparent, Black  from Thuban.Model.color import Color, Transparent, Black
 from Thuban.Model.table import FIELDTYPE_INT, FIELDTYPE_STRING, FIELDTYPE_DOUBLE  
24  from Thuban.Model.classification import \  from Thuban.Model.classification import \
25      Classification, ClassGroup, \      Classification, ClassGroup, \
26      ClassGroupDefault, ClassGroupSingleton, ClassGroupRange,\      ClassGroupDefault, ClassGroupSingleton, ClassGroupRange,\
27      ClassGroupProperties      ClassGroupProperties
28    from Thuban.Model.messages import CLASS_CHANGED
29    
 from Thuban.Model.session import Session  
 from Thuban.Model.layer import Layer  
30  from Thuban.Model.range import Range  from Thuban.Model.range import Range
31    
32    
# Line 251  class TestClassGroupSingleton(unittest.T Line 246  class TestClassGroupSingleton(unittest.T
246          self.assertEqual(group, groupCopy)          self.assertEqual(group, groupCopy)
247    
248    
249  class TestClassification(unittest.TestCase):  class TestClassification(unittest.TestCase, support.SubscriberMixin):
250    
251      """Test cases for Classification"""      """Test cases for Classification"""
252    
253      def setUp(self):      def setUp(self):
254          self.clazz = Classification()          self.clazz = Classification()
255            self.clazz.Subscribe(CLASS_CHANGED, self.subscribe_with_params,
256                                 CLASS_CHANGED)
257            self.clear_messages()
258    
259        def tearDown(self):
260            self.clear_messages()
261            self.clazz.Destroy()
262            del self.clazz
263    
264      def test_defaults(self):      def test_defaults(self):
265          """Test Classification default settings"""          """Test Classification default settings"""
         c = Classification()  
266          self.assertEqual(self.clazz.FindGroup(-1),          self.assertEqual(self.clazz.FindGroup(-1),
267                           self.clazz.GetDefaultGroup())                           self.clazz.GetDefaultGroup())
268          self.assertEqual(self.clazz.GetDefaultLineColor(), Black)          self.assertEqual(self.clazz.GetDefaultLineColor(), Black)
269          self.assertEqual(self.clazz.GetDefaultFill(), Transparent)          self.assertEqual(self.clazz.GetDefaultFill(), Transparent)
270            self.assertEqual(self.clazz.GetDefaultLineWidth(), 1)
271    
272          # The default group is not counted, hence 0 groups          # The default group is not counted, hence 0 groups
273          self.assertEqual(self.clazz.GetNumGroups(), 0)          self.assertEqual(self.clazz.GetNumGroups(), 0)
274    
275            # No messages should have been sent so far
276            self.check_messages([])
277    
278      def test_set_default_properties(self):      def test_set_default_properties(self):
279          """Test Classification.SetDefaultLineColor and SetDefaultFill"""          """Test Classification.SetDefaultLineColor and SetDefaultFill"""
280          c = Classification()          # No messages so far
281            self.check_messages([])
282    
283            # Change the default line color
284          self.clazz.SetDefaultLineColor(red)          self.clazz.SetDefaultLineColor(red)
285          self.assertEqual(self.clazz.GetDefaultLineColor(), red)          self.assertEqual(self.clazz.GetDefaultLineColor(), red)
286          self.assertEqual(self.clazz.GetDefaultFill(), Transparent)          self.assertEqual(self.clazz.GetDefaultFill(), Transparent)
287            self.assertEqual(self.clazz.GetDefaultLineWidth(), 1)
288    
289            self.check_messages([(CLASS_CHANGED,)])
290            self.clear_messages()
291    
292          self.clazz.SetDefaultFill(green)          self.clazz.SetDefaultFill(green)
293          self.assertEqual(self.clazz.GetDefaultFill(), green)          self.assertEqual(self.clazz.GetDefaultFill(), green)
294          self.assertEqual(self.clazz.GetDefaultLineColor(), red)          self.assertEqual(self.clazz.GetDefaultLineColor(), red)
295            self.assertEqual(self.clazz.GetDefaultLineWidth(), 1)
296            self.check_messages([(CLASS_CHANGED,)])
297    
298            self.check_messages([(CLASS_CHANGED,)])
299            self.clear_messages()
300    
301            self.clazz.SetDefaultLineWidth(10)
302            self.assertEqual(self.clazz.GetDefaultFill(), green)
303            self.assertEqual(self.clazz.GetDefaultLineColor(), red)
304            self.assertEqual(self.clazz.GetDefaultLineWidth(), 10)
305            self.check_messages([(CLASS_CHANGED,)])
306    
307      def test_add_singleton(self):      def test_add_singleton(self):
308          """Test Classification.AppendGroup(ClassGroupSingleton())"""          """Test Classification.AppendGroup(ClassGroupSingleton())"""
         c = Classification()  
309          self.assertEquals(self.clazz.FindGroup(5),          self.assertEquals(self.clazz.FindGroup(5),
310                            self.clazz.GetDefaultGroup())                            self.clazz.GetDefaultGroup())
311    
312          s = ClassGroupSingleton(5)          s = ClassGroupSingleton(5)
313          self.clazz.AppendGroup(s)          self.clazz.AppendGroup(s)
314            self.check_messages([(CLASS_CHANGED,)])
315          self.assertEquals(self.clazz.FindGroup(5), s)          self.assertEquals(self.clazz.FindGroup(5), s)
316          self.assertEquals(self.clazz.FindGroup(0),          self.assertEquals(self.clazz.FindGroup(0),
317                            self.clazz.GetDefaultGroup())                            self.clazz.GetDefaultGroup())
318    
319      def test_add_range(self):      def test_add_range(self):
320          """Test Classification.AppendGroup(ClassGroupRange())"""          """Test Classification.AppendGroup(ClassGroupRange())"""
         c = Classification()  
321          self.assertEquals(self.clazz.FindGroup(0),          self.assertEquals(self.clazz.FindGroup(0),
322                            self.clazz.GetDefaultGroup())                            self.clazz.GetDefaultGroup())
323    
324          r = ClassGroupRange((-10, 10))          r = ClassGroupRange((-10, 10))
325          self.clazz.AppendGroup(r)          self.clazz.AppendGroup(r)
326            self.check_messages([(CLASS_CHANGED,)])
327          self.assertEquals(self.clazz.FindGroup(-11),          self.assertEquals(self.clazz.FindGroup(-11),
328                            self.clazz.GetDefaultGroup())                            self.clazz.GetDefaultGroup())
329          self.assertEquals(self.clazz.FindGroup(-10), r)          self.assertEquals(self.clazz.FindGroup(-10), r)
# Line 311  class TestClassification(unittest.TestCa Line 334  class TestClassification(unittest.TestCa
334    
335      def test_multiple_groups(self):      def test_multiple_groups(self):
336          """Test Classification with multiple groups"""          """Test Classification with multiple groups"""
         c = Classification()  
   
337          # two singletons matching 1 to test whether they're tested in          # two singletons matching 1 to test whether they're tested in
338          # the right order. Use a non default fill on the second to make          # the right order. Use a non default fill on the second to make
339          # it compare unequal to the first.          # it compare unequal to the first.
# Line 329  class TestClassification(unittest.TestCa Line 350  class TestClassification(unittest.TestCa
350          self.clazz.AppendGroup(s2)          self.clazz.AppendGroup(s2)
351          self.clazz.AppendGroup(s1a)          self.clazz.AppendGroup(s1a)
352          self.clazz.AppendGroup(r)          self.clazz.AppendGroup(r)
353            self.check_messages([(CLASS_CHANGED,), (CLASS_CHANGED,),
354                                 (CLASS_CHANGED,), (CLASS_CHANGED,)])
355    
356          self.assertEquals(self.clazz.FindGroup(-11),          self.assertEquals(self.clazz.FindGroup(-11),
357                            self.clazz.GetDefaultGroup())                            self.clazz.GetDefaultGroup())

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26