/[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 851 by bh, Wed May 7 15:11:12 2003 UTC revision 1039 by bh, Mon May 26 17:31:24 2003 UTC
# Line 27  from Thuban.Model.map import Map Line 27  from Thuban.Model.map import Map
27  from Thuban.Model.layer import Layer  from Thuban.Model.layer import Layer
28  from Thuban.Model.proj import Projection  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, \
31                                   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 43  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())
58          session.Destroy()  
59        def test_add_table(self):
60            """Test Session.AddTable()"""
61            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_open_table_file(self):
75            """Test Session.OpenTableFile()"""
76            session = self.session = Session("Test Session")
77            filename = os.path.join("..", "Data", "iceland",
78                                    "roads-line.dbf")
79            table = session.OpenTableFile(filename)
80            self.assertEquals(session.Tables(), [table])
81    
82        def test_remove_table(self):
83            """Test Session.RemoveTable()"""
84            session = self.session = Session("Test Session")
85            memtable = MemoryTable([("type", FIELDTYPE_STRING),
86                                    ("value", FIELDTYPE_DOUBLE),
87                                    ("code", FIELDTYPE_INT)],
88                                   [("OTHER/UNKNOWN", -1.5, 11),
89                                    ("RUINS", 0.0, 1),
90                                    ("FARM", 3.141, 2),
91                                    ("BUILDING", 2.5, 3),
92                                    ("HUT", 1e6, 4),
93                                    ("LIGHTHOUSE", -0.01, 5)])
94            table = session.AddTable(memtable)
95            self.assertEquals(session.Tables(), [table])
96            session.RemoveTable(table)
97            self.assertEquals(session.Tables(), [])
98            self.assertRaises(ValueError, session.RemoveTable, table)
99    
100        def test_open_shapefile(self):
101            """Test Session.OpenShapefile()"""
102            session = self.session = Session("Test Session")
103            filename = os.path.join("..", "Data", "iceland",
104                                    "roads-line.shp")
105            store = session.OpenShapefile(filename)
106            self.assertEquals(store.FileName(), os.path.abspath(filename))
107            # The filetype of a shapefile is "shapefile"
108            self.assertEquals(store.FileType(), "shapefile")
109            # The shapestore itself depends on nothing else
110            self.assertEquals(store.Dependencies(), ())
111            # The shapestore's table depends on the shapestore
112            self.assertEquals(store.Table().Dependencies(), (store,))
113    
114            self.assertEquals(session.Tables(), [store.Table()])
115    
116        def test_add_shapestore(self):
117            """Test Session.AddShapeStore()"""
118            session = self.session = Session("Test Session")
119            filename = os.path.join("..", "Data", "iceland",
120                                    "roads-line.shp")
121            try:
122                store = session.OpenShapefile(filename)
123                derived = DerivedShapeStore(store, store.Table())
124                session.AddShapeStore(derived)
125                self.assertEquals(session.ShapeStores(), [store, derived])
126            finally:
127                store = derived = None
128    
129    
130  class TestSessionBase(unittest.TestCase, support.SubscriberMixin):  class TestSessionBase(unittest.TestCase, support.SubscriberMixin):

Legend:
Removed from v.851  
changed lines
  Added in v.1039

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26