source: TI02-CSML/trunk/services/3rdParty/GeoTypes-0.6.0/tests/OGPoint_Test.py @ 2194

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI02-CSML/trunk/services/3rdParty/GeoTypes-0.6.0/tests/OGPoint_Test.py@2194
Revision 2194, 5.6 KB checked in by lawrence, 13 years ago (diff)

Adding various specs and 3rd party code of interest for the CSML
services development.

Line 
1
2################################################################################
3# Copyright (c) QinetiQ Plc 2003
4#
5# Licensed under the LGPL. For full license details see the LICENSE file.
6################################################################################
7
8import unittest
9import os
10import TestConfig
11
12if not os.environ.get('USECOVERAGE') == '1':
13    import _OGPoint
14    from _OGPoint import *
15
16from _OGGeometry import OGGeometry
17
18class OGPointTest(unittest.TestCase):   
19
20    def testEqualities(self):
21        p = OGPoint()
22        q = OGPoint()
23        assert p != None
24        assert None != p
25        assert p != 0
26        assert p != {}
27        assert p != []
28        assert p == q
29       
30    def testPoint2d(self):
31        """
32        Check that the basic Point class works
33        """
34
35        p = OGPoint()
36        assert p.getX() == 0.0
37        assert p.getY() == 0.0
38        assert p.__str__() == "GeometryFromText('POINT(0.000000 0.000000)',%d)" % (OGGeometry.default_srid,)
39
40        p = OGPoint()
41        p.fromString("1.0 2.0")
42        assert p.getX() == 1.0
43        assert p.getY() == 2.0
44        assert p.__str__() == "GeometryFromText('POINT(1.000000 2.000000)',%d)" % (OGGeometry.default_srid,)
45
46        p.fromString("3.0 4.0")
47        assert p.getX() == 3.0
48        assert p.getY() == 4.0
49        assert p.__str__() == "GeometryFromText('POINT(3.000000 4.000000)',%d)" % (OGGeometry.default_srid,)
50
51        p.setX(5.0)
52        assert p.__str__() == "GeometryFromText('POINT(5.000000 4.000000)',%d)" % (OGGeometry.default_srid,)
53       
54        p.setY(6.0)
55        assert p.__str__() == "GeometryFromText('POINT(5.000000 6.000000)',%d)" % (OGGeometry.default_srid,)
56
57        assert p.__repr__() == "5.000000 6.000000"
58
59        p1 = OGPoint()
60        p1.fromString("1.0 2.0")
61
62        p2 = OGPoint()
63        p2.fromString("1.0 2.0")
64
65        assert p1 == p2
66
67        p1 = OGPoint()
68        p1.fromString("1.0 2.0")
69
70        p2 = OGPoint()
71        p2.fromString("1.0 3.0")
72
73       
74        assert p1 != p2
75
76    def testPoint3d(self):
77        """
78        Check that the basic Point class works
79        """
80
81        p = OGPoint()
82        assert p.getX() == 0.0
83        assert p.getY() == 0.0
84        assert p.getZ() == None
85        assert p.__str__() == "GeometryFromText('POINT(0.000000 0.000000)',%d)" % (OGGeometry.default_srid,)
86
87        p = OGPoint()
88        p.fromString("1.0 2.0 3.0")
89        assert p.getX() == 1.0
90        assert p.getY() == 2.0
91        assert p.getZ() == 3.0
92        assert p.__str__() == "GeometryFromText('POINT(1.000000 2.000000 3.000000)',%d)" % (OGGeometry.default_srid,)
93
94        p.fromString("3.0 4.0 5.0")
95        assert p.getX() == 3.0
96        assert p.getY() == 4.0
97        assert p.getZ() == 5.0
98        assert p.__str__() == "GeometryFromText('POINT(3.000000 4.000000 5.000000)',%d)" % (OGGeometry.default_srid,)
99
100        p.setX(5.0)
101        assert p.__str__() == "GeometryFromText('POINT(5.000000 4.000000 5.000000)',%d)" % (OGGeometry.default_srid,)
102       
103        p.setY(6.0)
104        assert p.__str__() == "GeometryFromText('POINT(5.000000 6.000000 5.000000)',%d)" % (OGGeometry.default_srid,)
105
106        p.setZ(7.0)
107        assert p.__str__() == "GeometryFromText('POINT(5.000000 6.000000 7.000000)',%d)" % (OGGeometry.default_srid,)
108
109        assert p.__repr__() == "5.000000 6.000000 7.000000"
110
111        p1 = OGPoint()
112        p1.fromString("1.0 2.0 3.0")
113
114        p2 = OGPoint()
115        p2.fromString("1.0 2.0 3.0")
116
117        assert p1 == p2
118
119        p1 = OGPoint()
120        p1.fromString("1.0 2.0 3.0")
121
122        p2 = OGPoint()
123        p2.fromString("1.0 3.0 3.0")
124
125       
126        assert p1 != p2
127
128
129    def testFactories(self):
130
131        p = OGpointFromValues(1.0,2.0)
132        assert p.getX() == 1.0
133        assert p.getY() == 2.0
134        assert p.__str__() == "GeometryFromText('POINT(1.000000 2.000000)',%d)" % (OGGeometry.default_srid,)
135
136        p = OGpointFromSequence((1.0,2.0))
137        assert p.getX() == 1.0
138        assert p.getY() == 2.0
139        assert p.__str__() == "GeometryFromText('POINT(1.000000 2.000000)',%d)" % (OGGeometry.default_srid,)
140
141        p = OGpointFromValues(1.0,2.0,3.0)
142        assert p.getX() == 1.0
143        assert p.getY() == 2.0
144        assert p.getZ() == 3.0
145        assert p.__str__() == "GeometryFromText('POINT(1.000000 2.000000 3.000000)',%d)" % (OGGeometry.default_srid,)
146
147        p = OGpointFromSequence((1.0,2.0,3.0))
148        assert p.getX() == 1.0
149        assert p.getY() == 2.0
150        assert p.getZ() == 3.0
151        assert p.__str__() == "GeometryFromText('POINT(1.000000 2.000000 3.000000)',%d)" % (OGGeometry.default_srid,)
152       
153    def testzzz_CoverageAssertion(self):
154            try:
155                coverage.stop()
156            except:
157                return 1
158
159            x = coverage.analysis(_OGPoint)
160            assert x[2]==[], "Coverage is less than 100%"
161
162
163def testSuite():
164    return unittest.makeSuite(OGPointTest,'test')
165
166if __name__ == "__main__":
167    if os.environ.get('USECOVERAGE') == '1':
168        try:
169            import coverage
170            coverage.erase()
171            coverage.start()
172            COVERAGE = 1
173            import _OGPoint
174            from _OGPoint import *
175
176        except:
177            print "Error setting up coverage checking"
178            COVERAGE = 0
179    else:
180        COVERAGE = 0
181
182    if os.environ.get('USEPYCHECK') == '1':
183        try:
184            import pychecker.checker
185        except:
186            print "Pychecker not installed on this machine"
187
188    unittest.TextTestRunner().run(testSuite())
189
190    if COVERAGE:
191        coverage.stop()
192        x = coverage.analysis(_OGPoint)
193        print "\n"
194        coverage.report(_OGPoint)
Note: See TracBrowser for help on using the repository browser.