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

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

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

revision 982 by bh, Thu May 22 12:02:15 2003 UTC revision 1016 by bh, Fri May 23 11:05:59 2003 UTC
# Line 29  from Thuban.Model.proj import Projection Line 29  from Thuban.Model.proj import Projection
29  from Thuban.Model.color import Color  from Thuban.Model.color import Color
30  from Thuban.Model.table import MemoryTable, FIELDTYPE_STRING, \  from Thuban.Model.table import MemoryTable, FIELDTYPE_STRING, \
31                                 FIELDTYPE_INT, FIELDTYPE_DOUBLE                                 FIELDTYPE_INT, FIELDTYPE_DOUBLE
32    from Thuban.Model.data import DerivedShapeStore
33    
34    
35  class TestSessionSimple(unittest.TestCase):  class TestSessionSimple(unittest.TestCase):
36    
37      """Very simple test cases for Session"""      """Very simple test cases for Session"""
38    
39        def setUp(self):
40            """Initialize self.session to None"""
41            self.session = None
42    
43        def tearDown(self):
44            """Call self.session.Destroy() and reset self.session to None"""
45            self.session.Destroy()
46            self.session = None
47    
48      def test_initial_state(self):      def test_initial_state(self):
49          """Test Session's initial state"""          """Test Session's initial state"""
50          session = Session("Test Session")          session = self.session = Session("Test Session")
51          self.assertEquals(session.Title(), "Test Session")          self.assertEquals(session.Title(), "Test Session")
52          self.assertEquals(session.Maps(), [])          self.assertEquals(session.Maps(), [])
53          self.assertEquals(session.Tables(), [])          self.assertEquals(session.Tables(), [])
# Line 44  class TestSessionSimple(unittest.TestCas Line 55  class TestSessionSimple(unittest.TestCas
55          self.assertEquals(session.filename, None)          self.assertEquals(session.filename, None)
56          self.failIf(session.HasMaps())          self.failIf(session.HasMaps())
57          self.failIf(session.WasModified())          self.failIf(session.WasModified())
         session.Destroy()  
58    
59      def test_add_table(self):      def test_add_table(self):
60          """Test Session.AddTable()"""          """Test Session.AddTable()"""
61          session = Session("Test Session")          session = self.session = Session("Test Session")
62            memtable = MemoryTable([("type", FIELDTYPE_STRING),
63                                    ("value", FIELDTYPE_DOUBLE),
64                                    ("code", FIELDTYPE_INT)],
65                                   [("OTHER/UNKNOWN", -1.5, 11),
66                                    ("RUINS", 0.0, 1),
67                                    ("FARM", 3.141, 2),
68                                    ("BUILDING", 2.5, 3),
69                                    ("HUT", 1e6, 4),
70                                    ("LIGHTHOUSE", -0.01, 5)])
71            table = session.AddTable(memtable)
72            self.assertEquals(session.Tables(), [table])
73    
74        def test_remove_table(self):
75            """Test Session.RemoveTable()"""
76            session = self.session = Session("Test Session")
77          memtable = MemoryTable([("type", FIELDTYPE_STRING),          memtable = MemoryTable([("type", FIELDTYPE_STRING),
78                                  ("value", FIELDTYPE_DOUBLE),                                  ("value", FIELDTYPE_DOUBLE),
79                                  ("code", FIELDTYPE_INT)],                                  ("code", FIELDTYPE_INT)],
# Line 60  class TestSessionSimple(unittest.TestCas Line 85  class TestSessionSimple(unittest.TestCas
85                                  ("LIGHTHOUSE", -0.01, 5)])                                  ("LIGHTHOUSE", -0.01, 5)])
86          table = session.AddTable(memtable)          table = session.AddTable(memtable)
87          self.assertEquals(session.Tables(), [table])          self.assertEquals(session.Tables(), [table])
88            session.RemoveTable(table)
89            self.assertEquals(session.Tables(), [])
90            self.assertRaises(ValueError, session.RemoveTable, table)
91    
92        def test_open_shapefile(self):
93            """Test Session.OpenShapefile()"""
94            session = self.session = Session("Test Session")
95            filename = os.path.join("..", "Data", "iceland",
96                                    "roads-line.shp")
97            store = session.OpenShapefile(filename)
98            self.assertEquals(store.FileName(), os.path.abspath(filename))
99            # The filetype of a shapefile is "shapefile"
100            self.assertEquals(store.FileType(), "shapefile")
101            # The shapestore itself depends on nothing else
102            self.assertEquals(store.Dependencies(), ())
103            # The shapestore's table depends on the shapestore
104            self.assertEquals(store.Table().Dependencies(), (store,))
105    
106            self.assertEquals(session.Tables(), [store.Table()])
107    
108        def test_add_shapestore(self):
109            """Test Session.AddShapeStore()"""
110            session = self.session = Session("Test Session")
111            filename = os.path.join("..", "Data", "iceland",
112                                    "roads-line.shp")
113            try:
114                store = session.OpenShapefile(filename)
115                derived = DerivedShapeStore(store, store.Table())
116                session.AddShapeStore(derived)
117                self.assertEquals(session.ShapeStores(), [store, derived])
118            finally:
119                store = derived = None
120    
121    
122  class TestSessionBase(unittest.TestCase, support.SubscriberMixin):  class TestSessionBase(unittest.TestCase, support.SubscriberMixin):

Legend:
Removed from v.982  
changed lines
  Added in v.1016

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26