/[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 610 by jonathan, Fri Apr 4 13:56:59 2003 UTC revision 1356 by jonathan, Wed Jul 2 09:37:59 2003 UTC
# Line 20  import unittest Line 20  import unittest
20  import support  import support
21  support.initthuban()  support.initthuban()
22    
23  from Thuban.Model.table import *  import os
24  from Thuban.Model.classification import *  from Thuban.Model.color import Color, Transparent, Black
25    from Thuban.Model.table import FIELDTYPE_INT, FIELDTYPE_STRING, FIELDTYPE_DOUBLE
26    from Thuban.Model.classification import \
27        Classification, ClassGroup, \
28        ClassGroupDefault, ClassGroupSingleton, ClassGroupRange,\
29        ClassGroupProperties
30    
31    from Thuban.Model.session import Session
32  from Thuban.Model.layer import Layer  from Thuban.Model.layer import Layer
33    from Thuban.Model.range import Range
34    
35  import copy  import copy
36    
# Line 33  class TestClassification(unittest.TestCa Line 41  class TestClassification(unittest.TestCa
41          """Test ClassGroupProperties"""          """Test ClassGroupProperties"""
42    
43          props = ClassGroupProperties()          props = ClassGroupProperties()
44          self.assertEqual(props.GetLineColor(), Color.Black)          self.assertEqual(props.GetLineColor(), Black)
45          self.assertEqual(props.GetLineWidth(), 1)          self.assertEqual(props.GetLineWidth(), 1)
46          self.assertEqual(props.GetFill(), Color.Transparent)          self.assertEqual(props.GetFill(), Transparent)
47    
48          red = Color(1, 0, 0)          red = Color(1, 0, 0)
49          props.SetLineColor(red)          props.SetLineColor(red)
# Line 162  class TestClassification(unittest.TestCa Line 170  class TestClassification(unittest.TestCa
170          self.assertEqual(group.GetProperties(), newProps)          self.assertEqual(group.GetProperties(), newProps)
171    
172          # test SetRange()          # test SetRange()
173          self.assertRaises(ValueError, group.SetRange, 1, 0)          self.assertRaises(ValueError, group.SetRange, (1, 0))
174          group.SetRange(-5, 5)          group.SetRange(Range("]-oo;6]"))
175          self.assertEqual(group.GetRange(), (-5, 5))          self.assertEqual(group.GetRange(), "]-oo;6]")
176            group.SetRange((-5, 5))
177            self.assertEqual(group.GetRange(), "[-5;5[")
178    
179          # test Matches()          # test Matches()
180          self.assertEqual(group.Matches(-6), False)          self.assertEqual(group.Matches(-6), False)
# Line 228  class TestClassification(unittest.TestCa Line 238  class TestClassification(unittest.TestCa
238          """Test ClassIterator"""          """Test ClassIterator"""
239    
240          groups = [ClassGroupSingleton(5), ClassGroupSingleton(5),          groups = [ClassGroupSingleton(5), ClassGroupSingleton(5),
241                    ClassGroupRange(-3, 3), ClassGroupSingleton(-5),                    ClassGroupRange((-3, 3)), ClassGroupSingleton(-5),
242                    ClassGroupDefault()]                    ClassGroupDefault()]
243    
244          clazz = Classification()          clazz = Classification()
245    
246          for g in groups:          for g in groups:
247              clazz.AddGroup(g)              clazz.AppendGroup(g)
248    
249          def convert(clazz):          def convert(clazz):
250              if isinstance(clazz, ClassGroupDefault):   return 0              if isinstance(clazz, ClassGroupDefault):   return 0
# Line 245  class TestClassification(unittest.TestCa Line 255  class TestClassification(unittest.TestCa
255          for g in clazz:          for g in clazz:
256              list.append(convert(g))              list.append(convert(g))
257    
258          self.assertEquals(list, [0, 1, 1, 2, 1])          self.assertEquals(list, [0, 1, 1, 2, 1, 0])
259    
260      def test_classification(self):      def test_classification(self):
261          """Test Classification"""          """Test Classification"""
# Line 255  class TestClassification(unittest.TestCa Line 265  class TestClassification(unittest.TestCa
265          green = Color(0, 1, 0)          green = Color(0, 1, 0)
266          blue  = Color(0, 0, 1)          blue  = Color(0, 0, 1)
267    
268          layer = Layer("asdf", "../Data/iceland/political.dbf")          session = Session("Test session")
269            filename = os.path.join("..", "Data", "iceland", "political.dbf")
270            layer = Layer("asdf", session.OpenShapefile(filename))
271    
272          #          #
273          # init with no params          # init with no params
# Line 263  class TestClassification(unittest.TestCa Line 275  class TestClassification(unittest.TestCa
275          c = Classification()          c = Classification()
276          self.assertEqual(c.GetField(), None)          self.assertEqual(c.GetField(), None)
277          self.assertEqual(c.GetFieldType(), None)          self.assertEqual(c.GetFieldType(), None)
278          self.assertEqual(c.GetGroup(-1), c.GetDefaultGroup())          self.assertEqual(c.FindGroup(-1), c.GetDefaultGroup())
279    
280          c.SetDefaultLineColor(red)          c.SetDefaultLineColor(red)
281          self.assertEqual(c.GetDefaultLineColor(), red)          self.assertEqual(c.GetDefaultLineColor(), red)
282          self.assertEqual(c.GetDefaultFill(), Color.Transparent)          self.assertEqual(c.GetDefaultFill(), Transparent)
283    
284          c.SetDefaultFill(green)          c.SetDefaultFill(green)
285          self.assertEqual(c.GetDefaultFill(), green)          self.assertEqual(c.GetDefaultFill(), green)
286          self.assertEqual(c.GetDefaultLineColor(), red)          self.assertEqual(c.GetDefaultLineColor(), red)
287    
288          c.SetField("hallo")          c.SetFieldInfo("hallo", FIELDTYPE_STRING)
289          self.assertEqual(c.GetField(), "hallo")          self.assertEqual(c.GetField(), "hallo")
   
         c.SetFieldType(FIELDTYPE_STRING)  
290          self.assertEqual(c.GetFieldType(), FIELDTYPE_STRING)          self.assertEqual(c.GetFieldType(), FIELDTYPE_STRING)
291    
292          # should raise an exception because 'hallo' doesn't          # should raise an exception because 'hallo' doesn't
293          # exist in the table          # exist in the table
294          self.assertRaises(ValueError, c.SetLayer, layer)          self.assertRaises(ValueError, c._set_layer, layer)
295                    
296          c.SetField("AREA")          c.SetFieldInfo("AREA", None)
297          c.SetLayer(layer)          layer.SetClassification(c)
298          self.assertEqual(c.GetLayer(), layer)          self.assertEqual(c.GetLayer(), layer)
299          self.assertEqual(c.GetField(), "AREA")          self.assertEqual(c.GetField(), "AREA")
300          self.assertEqual(c.GetFieldType(), FIELDTYPE_DOUBLE)          self.assertEqual(c.GetFieldType(), FIELDTYPE_DOUBLE)
301    
302          c.SetField(None)          c.SetFieldInfo(None, None)
303          self.assertEquals(c.GetFieldType(), None)          self.assertEquals(c.GetFieldType(), None)
304          self.assertEquals(c.GetGroup(5), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(5), c.GetDefaultGroup())
305    
306          c.SetField("AREA")          c.SetFieldInfo("AREA", None)
307          s = ClassGroupSingleton(5)          s = ClassGroupSingleton(5)
308          c.AddGroup(s)          c.AppendGroup(s)
309          self.assertEquals(c.GetGroup(5), s)          self.assertEquals(c.FindGroup(5), s)
310          self.assertEquals(c.GetGroup(0), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(0), c.GetDefaultGroup())
311    
312          r = ClassGroupRange(-10, 10)          r = ClassGroupRange((-10, 10))
313          c.AddGroup(r)          c.AppendGroup(r)
314          self.assertEquals(c.GetGroup(-11), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(-11), c.GetDefaultGroup())
315          self.assertEquals(c.GetGroup(-10), r)          self.assertEquals(c.FindGroup(-10), r)
316          self.assertEquals(c.GetGroup(9), r)          self.assertEquals(c.FindGroup(9), r)
317          self.assertEquals(c.GetGroup(5), s)          self.assertEquals(c.FindGroup(5), s)
318          self.assertEquals(c.GetGroup(10), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(10), c.GetDefaultGroup())
319    
320            clazz = copy.deepcopy(c)
321    
322            self.assertEquals(clazz.GetNumGroups(), c.GetNumGroups())
323    
324            for i in range(clazz.GetNumGroups()):
325                self.assertEquals(clazz.GetGroup(i), c.GetGroup(i))
326    
327          layer.Destroy()          layer.Destroy()
328    

Legend:
Removed from v.610  
changed lines
  Added in v.1356

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26