/[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 618 by jonathan, Mon Apr 7 08:58:26 2003 UTC revision 1437 by jonathan, Wed Jul 16 13:25:16 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()
# 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
274          #          #
275          c = Classification()          c = Classification()
         self.assertEqual(c.GetField(), None)  
         self.assertEqual(c.GetFieldType(), None)  
276          self.assertEqual(c.FindGroup(-1), c.GetDefaultGroup())          self.assertEqual(c.FindGroup(-1), c.GetDefaultGroup())
277    
278          c.SetDefaultLineColor(red)          c.SetDefaultLineColor(red)
279          self.assertEqual(c.GetDefaultLineColor(), red)          self.assertEqual(c.GetDefaultLineColor(), red)
280          self.assertEqual(c.GetDefaultFill(), Color.Transparent)          self.assertEqual(c.GetDefaultFill(), Transparent)
281    
282          c.SetDefaultFill(green)          c.SetDefaultFill(green)
283          self.assertEqual(c.GetDefaultFill(), green)          self.assertEqual(c.GetDefaultFill(), green)
284          self.assertEqual(c.GetDefaultLineColor(), red)          self.assertEqual(c.GetDefaultLineColor(), red)
285    
286          c.SetField("hallo")          layer.SetClassification(c)
         self.assertEqual(c.GetField(), "hallo")  
   
         c.SetFieldType(FIELDTYPE_STRING)  
         self.assertEqual(c.GetFieldType(), FIELDTYPE_STRING)  
   
         # should raise an exception because 'hallo' doesn't  
         # exist in the table  
         self.assertRaises(ValueError, c.SetLayer, layer)  
           
         c.SetField("AREA")  
         c.SetLayer(layer)  
         self.assertEqual(c.GetLayer(), layer)  
         self.assertEqual(c.GetField(), "AREA")  
         self.assertEqual(c.GetFieldType(), FIELDTYPE_DOUBLE)  
287    
         c.SetField(None)  
         self.assertEquals(c.GetFieldType(), None)  
288          self.assertEquals(c.FindGroup(5), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(5), c.GetDefaultGroup())
289    
         c.SetField("AREA")  
290          s = ClassGroupSingleton(5)          s = ClassGroupSingleton(5)
291          c.AppendGroup(s)          c.AppendGroup(s)
292          self.assertEquals(c.FindGroup(5), s)          self.assertEquals(c.FindGroup(5), s)
293          self.assertEquals(c.FindGroup(0), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(0), c.GetDefaultGroup())
294    
295          r = ClassGroupRange(-10, 10)          r = ClassGroupRange((-10, 10))
296          c.AppendGroup(r)          c.AppendGroup(r)
297          self.assertEquals(c.FindGroup(-11), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(-11), c.GetDefaultGroup())
298          self.assertEquals(c.FindGroup(-10), r)          self.assertEquals(c.FindGroup(-10), r)
# Line 307  class TestClassification(unittest.TestCa Line 300  class TestClassification(unittest.TestCa
300          self.assertEquals(c.FindGroup(5), s)          self.assertEquals(c.FindGroup(5), s)
301          self.assertEquals(c.FindGroup(10), c.GetDefaultGroup())          self.assertEquals(c.FindGroup(10), c.GetDefaultGroup())
302    
303            clazz = copy.deepcopy(c)
304    
305            self.assertEquals(clazz.GetNumGroups(), c.GetNumGroups())
306    
307            for i in range(clazz.GetNumGroups()):
308                self.assertEquals(clazz.GetGroup(i), c.GetGroup(i))
309    
310            session.Destroy()
311          layer.Destroy()          layer.Destroy()
312    
313  if __name__ == "__main__":  if __name__ == "__main__":

Legend:
Removed from v.618  
changed lines
  Added in v.1437

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26