~ubuntu-branches/ubuntu/quantal/python-django/quantal

« back to all changes in this revision

Viewing changes to django/contrib/gis/gdal/tests/test_envelope.py

  • Committer: Bazaar Package Importer
  • Author(s): Chris Lamb
  • Date: 2009-07-29 11:26:28 UTC
  • mfrom: (1.1.8 upstream) (4.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20090729112628-pg09ino8sz0sj21t
Tags: 1.1-1
* New upstream release.
* Merge from experimental:
  - Ship FastCGI initscript and /etc/default file in python-django's examples
    directory (Closes: #538863)
  - Drop "05_10539-sphinx06-compatibility.diff"; it has been applied
    upstream.
  - Bump Standards-Version to 3.8.2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import unittest
 
2
from django.contrib.gis.gdal import Envelope, OGRException
 
3
 
 
4
class TestPoint(object):
 
5
    def __init__(self, x, y):
 
6
        self.x = x
 
7
        self.y = y
 
8
 
 
9
class EnvelopeTest(unittest.TestCase):
 
10
 
 
11
    def setUp(self): 
 
12
        self.e = Envelope(0, 0, 5, 5) 
 
13
 
 
14
    def test01_init(self):
 
15
        "Testing Envelope initilization."
 
16
        e1 = Envelope((0, 0, 5, 5))
 
17
        e2 = Envelope(0, 0, 5, 5)
 
18
        e3 = Envelope(0, '0', '5', 5) # Thanks to ww for this
 
19
        e4 = Envelope(e1._envelope)
 
20
        self.assertRaises(OGRException, Envelope, (5, 5, 0, 0))
 
21
        self.assertRaises(OGRException, Envelope, 5, 5, 0, 0)
 
22
        self.assertRaises(OGRException, Envelope, (0, 0, 5, 5, 3))
 
23
        self.assertRaises(OGRException, Envelope, ())
 
24
        self.assertRaises(ValueError, Envelope, 0, 'a', 5, 5)
 
25
        self.assertRaises(TypeError, Envelope, u'foo')
 
26
        self.assertRaises(OGRException, Envelope, (1, 1, 0, 0)) 
 
27
        try: 
 
28
            Envelope(0, 0, 0, 0) 
 
29
        except OGRException: 
 
30
            self.fail("shouldn't raise an exception for min_x == max_x or min_y == max_y")
 
31
 
 
32
    def test02_properties(self):
 
33
        "Testing Envelope properties."
 
34
        e = Envelope(0, 0, 2, 3)
 
35
        self.assertEqual(0, e.min_x)
 
36
        self.assertEqual(0, e.min_y)
 
37
        self.assertEqual(2, e.max_x)
 
38
        self.assertEqual(3, e.max_y)
 
39
        self.assertEqual((0, 0), e.ll)
 
40
        self.assertEqual((2, 3), e.ur)
 
41
        self.assertEqual((0, 0, 2, 3), e.tuple)
 
42
        self.assertEqual('POLYGON((0.0 0.0,0.0 3.0,2.0 3.0,2.0 0.0,0.0 0.0))', e.wkt)
 
43
        self.assertEqual('(0.0, 0.0, 2.0, 3.0)', str(e))
 
44
 
 
45
    def test03_equivalence(self):
 
46
        "Testing Envelope equivalence."
 
47
        e1 = Envelope(0.523, 0.217, 253.23, 523.69)
 
48
        e2 = Envelope((0.523, 0.217, 253.23, 523.69))
 
49
        self.assertEqual(e1, e2)
 
50
        self.assertEqual((0.523, 0.217, 253.23, 523.69), e1)
 
51
 
 
52
    def test04_expand_to_include_pt_2_params(self): 
 
53
        "Testing Envelope expand_to_include -- point as two parameters." 
 
54
        self.e.expand_to_include(2, 6) 
 
55
        self.assertEqual((0, 0, 5, 6), self.e) 
 
56
        self.e.expand_to_include(-1, -1) 
 
57
        self.assertEqual((-1, -1, 5, 6), self.e) 
 
58
                 
 
59
    def test05_expand_to_include_pt_2_tuple(self): 
 
60
        "Testing Envelope expand_to_include -- point as a single 2-tuple parameter." 
 
61
        self.e.expand_to_include((10, 10)) 
 
62
        self.assertEqual((0, 0, 10, 10), self.e) 
 
63
        self.e.expand_to_include((-10, -10)) 
 
64
        self.assertEqual((-10, -10, 10, 10), self.e) 
 
65
 
 
66
    def test06_expand_to_include_extent_4_params(self): 
 
67
        "Testing Envelope expand_to_include -- extent as 4 parameters." 
 
68
        self.e.expand_to_include(-1, 1, 3, 7) 
 
69
        self.assertEqual((-1, 0, 5, 7), self.e) 
 
70
                 
 
71
    def test06_expand_to_include_extent_4_tuple(self): 
 
72
        "Testing Envelope expand_to_include -- extent as a single 4-tuple parameter." 
 
73
        self.e.expand_to_include((-1, 1, 3, 7)) 
 
74
        self.assertEqual((-1, 0, 5, 7), self.e) 
 
75
                 
 
76
    def test07_expand_to_include_envelope(self): 
 
77
        "Testing Envelope expand_to_include with Envelope as parameter." 
 
78
        self.e.expand_to_include(Envelope(-1, 1, 3, 7)) 
 
79
        self.assertEqual((-1, 0, 5, 7), self.e) 
 
80
                 
 
81
    def test08_expand_to_include_point(self): 
 
82
        "Testing Envelope expand_to_include with Point as parameter." 
 
83
        self.e.expand_to_include(TestPoint(-1, 1)) 
 
84
        self.assertEqual((-1, 0, 5, 5), self.e) 
 
85
        self.e.expand_to_include(TestPoint(10, 10)) 
 
86
        self.assertEqual((-1, 0, 10, 10), self.e) 
 
87
 
 
88
def suite():
 
89
    s = unittest.TestSuite()
 
90
    s.addTest(unittest.makeSuite(EnvelopeTest))
 
91
    return s
 
92
 
 
93
def run(verbosity=2):
 
94
    unittest.TextTestRunner(verbosity=verbosity).run(suite())