/[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 482 by jonathan, Thu Mar 6 16:47:02 2003 UTC revision 723 by bh, Thu Apr 24 15:31:53 2003 UTC
# Line 1  Line 1 
1  # Copyright (c) 2002 by Intevation GmbH  # Copyright (c) 2002, 2003 by Intevation GmbH
2  # Authors:  # Authors:
3  # Jonathan Coles <[email protected]>  # Jonathan Coles <[email protected]>
4  #  #
# Line 20  import unittest Line 20  import unittest
20  import support  import support
21  support.initthuban()  support.initthuban()
22    
23    import os
24  from Thuban.Model.table import *  from Thuban.Model.table import *
25  from Thuban.Model.classification import *  from Thuban.Model.classification import *
26    from Thuban.Model.session import Session
27  from Thuban.Model.layer import Layer  from Thuban.Model.layer import Layer
28    
29  import copy  import copy
# Line 35  class TestClassification(unittest.TestCa Line 37  class TestClassification(unittest.TestCa
37          props = ClassGroupProperties()          props = ClassGroupProperties()
38          self.assertEqual(props.GetLineColor(), Color.Black)          self.assertEqual(props.GetLineColor(), Color.Black)
39          self.assertEqual(props.GetLineWidth(), 1)          self.assertEqual(props.GetLineWidth(), 1)
40          self.assertEqual(props.GetFill(), Color.None)          self.assertEqual(props.GetFill(), Color.Transparent)
41    
42          red = Color(1, 0, 0)          red = Color(1, 0, 0)
43          props.SetLineColor(red)          props.SetLineColor(red)
# Line 76  class TestClassification(unittest.TestCa Line 78  class TestClassification(unittest.TestCa
78          self.assertEqual(group.GetLabel(), "")          self.assertEqual(group.GetLabel(), "")
79    
80          # test Matches          # test Matches
81          self.assertEqual(group.Matches(None), False)          # Matches() is a virtual function...can't test it here
82          self.assertEqual(group.Matches(1), False)          #
83          self.assertEqual(group.Matches("hallo"), False)          #self.assertEqual(group.Matches(None), False)
84          self.assertEqual(group.Matches([]), False)          #self.assertEqual(group.Matches(1), False)
85            #self.assertEqual(group.Matches("hallo"), False)
86            #self.assertEqual(group.Matches([]), False)
87    
88          # test GetProperties          # test GetProperties...also a virtual function
89          self.assertEqual(group.GetProperties(), None)          #self.assertEqual(group.GetProperties(), None)
90    
91      def test_ClassGroupDefault(self):      def test_ClassGroupDefault(self):
92          """Test ClassGroupDefault"""          """Test ClassGroupDefault"""
# Line 232  class TestClassification(unittest.TestCa Line 236  class TestClassification(unittest.TestCa
236          clazz = Classification()          clazz = Classification()
237    
238          for g in groups:          for g in groups:
239              clazz.AddGroup(g)              clazz.AppendGroup(g)
240    
241          def convert(clazz):          def convert(clazz):
242              if isinstance(clazz, ClassGroupDefault):   return 0              if isinstance(clazz, ClassGroupDefault):   return 0
# Line 243  class TestClassification(unittest.TestCa Line 247  class TestClassification(unittest.TestCa
247          for g in clazz:          for g in clazz:
248              list.append(convert(g))              list.append(convert(g))
249    
250          self.assertEquals(list, [0, 1, 1, 2, 1])          self.assertEquals(list, [0, 1, 1, 2, 1, 0])
251    
252      def test_classification(self):      def test_classification(self):
253          """Test Classification"""          """Test Classification"""
# Line 253  class TestClassification(unittest.TestCa Line 257  class TestClassification(unittest.TestCa
257          green = Color(0, 1, 0)          green = Color(0, 1, 0)
258          blue  = Color(0, 0, 1)          blue  = Color(0, 0, 1)
259    
260          layer = Layer("asdf", "../Data/iceland/political.shp")          session = Session("Test session")
261            filename = os.path.join("..", "Data", "iceland", "political.dbf")
262            layer = Layer("asdf", session.OpenShapefile(filename))
263    
264          #          #
265          # init with no params          # init with no params
# Line 261  class TestClassification(unittest.TestCa Line 267  class TestClassification(unittest.TestCa
267          c = Classification()          c = Classification()
268          self.assertEqual(c.GetField(), None)          self.assertEqual(c.GetField(), None)
269          self.assertEqual(c.GetFieldType(), None)          self.assertEqual(c.GetFieldType(), None)
270          self.assertEqual(c.GetGroup(-1), c.GetDefaultGroup())          self.assertEqual(c.FindGroup(-1), c.GetDefaultGroup())
271    
272          c.SetDefaultLineColor(red)          c.SetDefaultLineColor(red)
273          self.assertEqual(c.GetDefaultLineColor(), red)          self.assertEqual(c.GetDefaultLineColor(), red)
274          self.assertEqual(c.GetDefaultFill(), Color.None)          self.assertEqual(c.GetDefaultFill(), Color.Transparent)
275    
276          c.SetDefaultFill(green)          c.SetDefaultFill(green)
277          self.assertEqual(c.GetDefaultFill(), green)          self.assertEqual(c.GetDefaultFill(), green)
# Line 277  class TestClassification(unittest.TestCa Line 283  class TestClassification(unittest.TestCa
283          c.SetFieldType(FIELDTYPE_STRING)          c.SetFieldType(FIELDTYPE_STRING)
284          self.assertEqual(c.GetFieldType(), FIELDTYPE_STRING)          self.assertEqual(c.GetFieldType(), FIELDTYPE_STRING)
285    
286            # should raise an exception because 'hallo' doesn't
287            # exist in the table
288            self.assertRaises(ValueError, c.SetLayer, layer)
289            
290            c.SetField("AREA")
291          c.SetLayer(layer)          c.SetLayer(layer)
292          self.assertEqual(c.GetLayer(), layer)          self.assertEqual(c.GetLayer(), layer)
293            self.assertEqual(c.GetField(), "AREA")
294            self.assertEqual(c.GetFieldType(), FIELDTYPE_DOUBLE)
295    
296          c.SetField(None)          c.SetField(None)
297          self.assertEquals(c.GetGroup(5), c.GetDefaultGroup())          self.assertEquals(c.GetFieldType(), None)
298            self.assertEquals(c.FindGroup(5), c.GetDefaultGroup())
299    
300          c.SetField("hallo")          c.SetField("AREA")
301          s = ClassGroupSingleton(5)          s = ClassGroupSingleton(5)
302          c.AddGroup(s)          c.AppendGroup(s)
303          self.assertEquals(c.GetGroup(5), s)          self.assertEquals(c.FindGroup(5), s)
304          self.assertEquals(c.GetGroup(0), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(0), c.GetDefaultGroup())
305    
306          r = ClassGroupRange(-10, 10)          r = ClassGroupRange(-10, 10)
307          c.AddGroup(r)          c.AppendGroup(r)
308          self.assertEquals(c.GetGroup(-11), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(-11), c.GetDefaultGroup())
309          self.assertEquals(c.GetGroup(-10), r)          self.assertEquals(c.FindGroup(-10), r)
310          self.assertEquals(c.GetGroup(9), r)          self.assertEquals(c.FindGroup(9), r)
311          self.assertEquals(c.GetGroup(5), s)          self.assertEquals(c.FindGroup(5), s)
312          self.assertEquals(c.GetGroup(10), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(10), c.GetDefaultGroup())
313    
314            clazz = copy.deepcopy(c)
315    
316            self.assertEquals(clazz.GetNumGroups(), c.GetNumGroups())
317    
318            for i in range(clazz.GetNumGroups()):
319                self.assertEquals(clazz.GetGroup(i), c.GetGroup(i))
320    
321            layer.Destroy()
322    
323  if __name__ == "__main__":  if __name__ == "__main__":
324      unittest.main()      support.run_tests()

Legend:
Removed from v.482  
changed lines
  Added in v.723

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26