CapakeyItemTests.test_item_perceel()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 36

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
c 0
b 0
f 0
dl 0
loc 36
rs 9.016
1
# -*- coding: utf-8 -*-
2
'''
3
Tests for the capakey renderers module.
4
5
.. versionadded:: 0.1.0
6
'''
7
8
from __future__ import unicode_literals
9
10
from crabpy_pyramid.renderers.capakey import (
11
    json_list_renderer,
12
    json_item_renderer
13
)
14
15
from crabpy.gateway.capakey import (
16
    Gemeente,
17
    Afdeling,
18
    Sectie,
19
    Perceel
20
)
21
22
import unittest
23
import json
24
25
class CapakeyListTests(unittest.TestCase):
26
27
    def setUp(self):
28
        self.renderer = json_list_renderer({})
29
30
    def tearDown(self):
31
        del self.renderer
32
33
    def test_list_gemeenten(self):
34
        gemeenten = [
35
            Gemeente(44021, 'Gent'),
36
            Gemeente(31043, 'Knokke-Heist')
37
        ]
38
        dump = self.renderer(gemeenten,{})
39
        self.assertEquals(
40
            json.loads(dump),
41
            [
42
                {
43
                    'id': 44021,
44
                    'naam': 'Gent'
45
                }, {
46
                    'id': 31043,
47
                    'naam': 'Knokke-Heist'
48
                }
49
            ]
50
        )
51
52
53
    def test_list_afdelingen(self):
54
        afdelingen = [
55
            Afdeling(44021, 'GENT  1 AFD', Gemeente(44021, 'Gent')),
56
            Afdeling(31043, 'KNOKKE-HEIST  1 AFD', Gemeente(31043, 'Knokke-Heist'))
57
        ]
58
        dump = self.renderer(afdelingen,{})
59
        self.assertEquals(
60
            json.loads(dump),
61
            [
62
                {
63
                    'id': 44021,
64
                    'naam': 'GENT  1 AFD',
65
                    'gemeente': {
66
                        'id': 44021,
67
                        'naam': 'Gent'
68
                    }
69
                }, {
70
                    'id': 31043,
71
                    'naam': 'KNOKKE-HEIST  1 AFD',
72
                    'gemeente': {
73
                        'id': 31043,
74
                        'naam': 'Knokke-Heist'
75
                    }
76
                }
77
            ]
78
        )
79
80
    def test_list_secties(self):
81
        secties = [
82
            Sectie('A', Afdeling(44021, 'GENT  1 AFD', Gemeente(44021, 'Gent')))
83
        ]
84
        dump = self.renderer(secties,{})
85
        self.assertEquals(
86
            json.loads(dump),
87
            [
88
                {
89
                    'id': 'A',
90
                    'afdeling': {
91
                        'id': 44021,
92
                        'naam': 'GENT  1 AFD',
93
                        'gemeente': {
94
                            'id': 44021,
95
                            'naam': 'Gent'
96
                        }
97
                    }
98
                }
99
            ]
100
        )
101
102
    def test_list_percelen(self):
103
        percelen = [
104
            Perceel(
105
                '1154/02C000', 
106
                Sectie(
107
                    'A', 
108
                    Afdeling(
109
                        46013,
110
                        'KRUIBEKE 1 AFD/KRUIBEKE/',
111
                        Gemeente(46013, 'Kruibeke')
112
                    )
113
                ),
114
                '46013A1154/02C000', 
115
                '46013_A_1154_C_000_02'
116
            )
117
        ]
118
        dump = self.renderer(percelen, {})
119
        self.assertEquals(
120
            json.loads(dump),
121
            [
122
                {
123
                    'id': '1154/02C000',
124
                    'sectie': {
125
                        'id': 'A',
126
                        'afdeling': {
127
                            'id': 46013,
128
                            'naam': 'KRUIBEKE 1 AFD/KRUIBEKE/',
129
                            'gemeente': {
130
                                'id': 46013,
131
                                'naam': 'Kruibeke'
132
                            }
133
                        }
134
                    },
135
                    'percid': '46013_A_1154_C_000_02',
136
                    'capakey': '46013A1154/02C000'
137
                }
138
            ]
139
        )
140
141
142
class CapakeyItemTests(unittest.TestCase):
143
144
    def setUp(self):
145
        self.renderer = json_item_renderer({})
146
147
    def tearDown(self):
148
        del self.renderer
149
150
    def test_item_gemeente(self):
151
        g = Gemeente(
152
            44021,
153
            'Gent',
154
            (104154.2225, 197300.703),
155
            (94653.453, 185680.984, 113654.992, 208920.422)
156
        )
157
        dump = self.renderer(g, {})
158
        self.assertEquals(
159
            json.loads(dump),
160
            {
161
                'id': 44021,
162
                'naam': 'Gent',
163
                'centroid': [104154.2225, 197300.703],
164
                'bounding_box': [94653.453, 185680.984, 113654.992, 208920.422]
165
            }
166
        )
167
168
    def test_item_afdeling(self):
169
        a = Afdeling(
170
            44021,
171
            'GENT  1 AFD',
172
            Gemeente(44021, 'Gent'),
173
            (104893.06375, 196022.244094),
174
            (104002.076625, 194168.3415, 105784.050875, 197876.146688)
175
        )
176
        dump = self.renderer(a, {})
177
        self.assertEquals(
178
            json.loads(dump),
179
            {
180
                'id': 44021,
181
                'naam': 'GENT  1 AFD',
182
                'gemeente': {
183
                    'id': 44021,
184
                    'naam': 'Gent'
185
                },
186
                'centroid': [104893.06375, 196022.244094],
187
                'bounding_box': [104002.076625, 194168.3415, 105784.050875, 197876.146688]
188
            }
189
        )
190
191
    def test_item_sectie(self):
192
        s = Sectie(
193
            'A',
194
            Afdeling(44021, 'GENT  1 AFD', Gemeente(44021, 'Gent')),
195
            (104893.06375, 196022.244094),
196
            (104002.076625, 194168.3415, 105784.050875, 197876.146688)
197
        )
198
        dump = self.renderer(s, {})
199
        self.assertEquals(
200
            json.loads(dump),
201
            {
202
                'id': 'A',
203
                'afdeling': {
204
                    'id': 44021,
205
                    'naam': 'GENT  1 AFD',
206
                    'gemeente': {
207
                        'id': 44021,
208
                        'naam': 'Gent'
209
                    },
210
                },
211
                'centroid': [104893.06375, 196022.244094],
212
                'bounding_box': [104002.076625, 194168.3415, 105784.050875, 197876.146688]
213
            }
214
        )
215
216
    def test_item_perceel(self):
217
        p = Perceel(
218
            '1154/02C000', 
219
            Sectie(
220
                'A',
221
                Afdeling(
222
                    46013,
223
                    'KRUIBEKE 1 AFD/KRUIBEKE/',
224
                    Gemeente(46013, 'Kruibeke')
225
                )
226
            ),
227
            '40613A1154/02C000', '40613_A_1154_C_000_02',
228
            'capaty', 'cashkey',
229
            (104893.06375, 196022.244094),
230
            (104002.076625, 194168.3415, 105784.050875, 197876.146688)
231
        )
232
        dump = self.renderer(p, {})
233
        self.assertEquals(
234
            json.loads(dump),
235
            {
236
                'id': '1154/02C000',
237
                'sectie': {
238
                    'id': 'A',
239
                    'afdeling': {
240
                        'id': 46013,
241
                        'naam': 'KRUIBEKE 1 AFD/KRUIBEKE/',
242
                        'gemeente': {
243
                            'id': 46013,
244
                            'naam': 'Kruibeke'
245
                        },
246
                    },
247
                },
248
                'capakey': '40613A1154/02C000',
249
                'percid': '40613_A_1154_C_000_02',
250
                'centroid': [104893.06375, 196022.244094],
251
                'bounding_box': [104002.076625, 194168.3415, 105784.050875, 197876.146688]
252
            }
253
        )
254