1
- using System . IO ;
2
- using System . Linq ;
3
- using CityJSON . Extensions ;
4
- using Newtonsoft . Json ;
5
- using NUnit . Framework ;
6
-
7
- namespace CityJSON . Tests
8
- {
9
- public class UnitTest1
10
- {
11
- [ Test ]
1
+ using System . IO ;
2
+ using System . Linq ;
3
+ using CityJSON . Extensions ;
4
+ using Newtonsoft . Json ;
5
+ using NUnit . Framework ;
6
+
7
+ namespace CityJSON . Tests
8
+ {
9
+ public class UnitTest1
10
+ {
11
+ [ Test ]
12
12
public void ReadBuildingWithInnerRingTest ( )
13
13
{
14
14
var json = File . ReadAllText ( "./fixtures/building_with_innerring.city.json" ) ;
@@ -22,121 +22,121 @@ public void ReadBuildingWithInnerRingTest()
22
22
var geom = reader . Read ( wkt ) ;
23
23
24
24
Assert . That ( geom . GeometryType , Is . EqualTo ( "MultiPolygon" ) ) ;
25
- Assert . That ( geom . NumGeometries , Is . EqualTo ( 102 ) ) ;
26
-
27
- }
28
-
29
- [ Test ]
30
- public void ReadCityJsonSeqFileMinimal ( )
31
- {
32
- var jsonSeq = File . ReadAllText ( "fixtures/tile_00000.city.jsonl" ) ;
33
-
34
- var allLines = jsonSeq . Split ( '\n ' ) ;
35
-
36
- var firstLine = allLines [ 0 ] ;
37
- var cityJson = JsonConvert . DeserializeObject < CityJsonDocument > ( firstLine ) ;
38
- Assert . That ( cityJson . Type == "CityJSON" ) ;
39
- Assert . That ( cityJson . Version == "2.0" ) ;
40
-
41
- var transform = cityJson . Transform ;
42
-
43
- var secondLine = allLines [ 1 ] ;
44
- var cityJsonSecond = JsonConvert . DeserializeObject < CityJsonDocument > ( secondLine ) ;
45
- Assert . That ( cityJsonSecond . CityObjects . Count == 2 ) ;
46
- var wkt = cityJsonSecond . ToWkt ( transform ) ;
47
-
48
- // read with NetTopologySuite
49
- var reader = new NetTopologySuite . IO . WKTReader ( ) ;
50
- var geom = reader . Read ( wkt ) ;
51
- Assert . That ( geom . GeometryType == "MultiPolygon" ) ;
52
- }
53
-
54
-
55
- [ Test ]
56
- public void ReadCityJsonSeqFile ( )
57
- {
58
- var jsonSeq = File . ReadAllText ( "fixtures/tile_00000.city.jsonl" ) ;
59
-
60
- var allLines = jsonSeq . Split ( '\n ' ) ;
61
-
62
- var firstLine = allLines [ 0 ] ;
63
- var cityJson = JsonConvert . DeserializeObject < CityJsonDocument > ( firstLine ) ;
64
- Assert . That ( cityJson . Type == "CityJSON" ) ;
65
- Assert . That ( cityJson . Version == "2.0" ) ;
66
-
67
- var transform = cityJson . Transform ;
68
- Assert . That ( transform . Scale . Length == 3 ) ;
69
- Assert . That ( transform . Scale [ 0 ] == 0.01 ) ;
70
- Assert . That ( transform . Scale [ 1 ] == 0.01 ) ;
71
- Assert . That ( transform . Scale [ 2 ] == 0.01 ) ;
72
- Assert . That ( transform . Translate . Length == 3 ) ;
73
- Assert . That ( transform . Translate [ 0 ] == 1033078.6 ) ;
74
- Assert . That ( transform . Translate [ 1 ] == 6280758.8 ) ;
75
- Assert . That ( transform . Translate [ 2 ] == 0.0 ) ;
76
- Assert . That ( cityJson . Vertices . Count == 0 ) ;
77
-
78
- var secondLine = allLines [ 1 ] ;
79
- var cityJsonSecond = JsonConvert . DeserializeObject < CityJsonDocument > ( secondLine ) ;
80
- Assert . That ( cityJsonSecond . CityObjects . Count == 2 ) ;
81
- var wkt = cityJsonSecond . ToWkt ( transform ) ;
82
-
83
- // read with NetTopologySuite
84
- var reader = new NetTopologySuite . IO . WKTReader ( ) ;
85
- var geom = reader . Read ( wkt ) ;
86
- Assert . That ( geom . GeometryType == "MultiPolygon" ) ;
87
- }
88
-
89
- [ Test ]
90
- public void ReadMinimal20CityJson ( )
91
- {
92
- var json = File . ReadAllText ( "fixtures/minimal.city.json" ) ;
93
- var cityjson = JsonConvert . DeserializeObject < CityJsonDocument > ( json ) ;
94
-
95
- Assert . That ( cityjson . Type == "CityJSON" ) ;
96
- Assert . That ( cityjson . Version == "2.0" ) ;
97
- Assert . That ( cityjson . CityObjects . Count == 0 ) ;
98
-
99
- Assert . That ( cityjson . Transform . Scale . Length == 3 ) ;
100
- Assert . That ( cityjson . Transform . Scale [ 0 ] == 1 ) ;
101
- Assert . That ( cityjson . Transform . Scale [ 1 ] == 1 ) ;
102
- Assert . That ( cityjson . Transform . Scale [ 2 ] == 1 ) ;
103
-
104
- Assert . That ( cityjson . Transform . Translate . Length == 3 ) ;
105
- Assert . That ( cityjson . Transform . Translate [ 0 ] == 0 ) ;
106
- Assert . That ( cityjson . Transform . Translate [ 1 ] == 0 ) ;
107
- Assert . That ( cityjson . Transform . Translate [ 2 ] == 0 ) ;
108
-
109
- Assert . That ( cityjson . CityObjects . Count == 0 ) ;
110
- Assert . That ( cityjson . Vertices . Count == 0 ) ;
111
- }
112
-
113
-
114
- [ Test ]
115
- public void TestReadDenHaag ( )
116
- {
117
- var json = File . ReadAllText ( "fixtures/denhaag.json" ) ;
118
- var cityjson = JsonConvert . DeserializeObject < CityJsonDocument > ( json ) ;
119
- Assert . That ( cityjson . Version == "1.0" ) ;
120
- Assert . That ( cityjson . CityObjects . Count == 2498 ) ;
121
- var firstCityObject = cityjson . CityObjects . First ( ) . Value ;
122
- var attributes = firstCityObject . Attributes ;
123
- Assert . That ( attributes . Count == 5 ) ;
124
- var firstAttribute = attributes . First ( ) . Value ;
125
- Assert . That ( firstAttribute . Equals ( "1000" ) ) ;
126
-
127
- var firstGeometry = firstCityObject . Geometry . First ( ) ;
128
- Assert . That ( firstGeometry . Type == Geometry . GeometryType . Solid ) ;
129
-
130
- Assert . That ( firstGeometry . Lod == "2" ) ;
131
- }
132
-
133
- [ Test ]
134
- public void TestReadGebouwen ( )
135
- {
136
- var json = File . ReadAllText ( "fixtures/25gn1_04_2020_gebouwen.json" ) ;
137
- var cityjson = JsonConvert . DeserializeObject < CityJsonDocument > ( json ) ;
138
- Assert . That ( cityjson . Version == "1.0" ) ;
139
- Assert . That ( cityjson . CityObjects . Count == 7313 ) ;
140
- }
141
- }
142
- }
25
+ Assert . That ( geom . NumGeometries , Is . EqualTo ( 102 ) ) ;
26
+
27
+ }
28
+
29
+ [ Test ]
30
+ public void ReadCityJsonSeqFileMinimal ( )
31
+ {
32
+ var jsonSeq = File . ReadAllText ( "fixtures/tile_00000.city.jsonl" ) ;
33
+
34
+ var allLines = jsonSeq . Split ( '\n ' ) ;
35
+
36
+ var firstLine = allLines [ 0 ] ;
37
+ var cityJson = JsonConvert . DeserializeObject < CityJsonDocument > ( firstLine ) ;
38
+ Assert . That ( cityJson . Type == "CityJSON" ) ;
39
+ Assert . That ( cityJson . Version == "2.0" ) ;
40
+
41
+ var transform = cityJson . Transform ;
42
+
43
+ var secondLine = allLines [ 1 ] ;
44
+ var cityJsonSecond = JsonConvert . DeserializeObject < CityJsonDocument > ( secondLine ) ;
45
+ Assert . That ( cityJsonSecond . CityObjects . Count == 2 ) ;
46
+ var wkt = cityJsonSecond . ToWkt ( transform ) ;
47
+
48
+ // read with NetTopologySuite
49
+ var reader = new NetTopologySuite . IO . WKTReader ( ) ;
50
+ var geom = reader . Read ( wkt ) ;
51
+ Assert . That ( geom . GeometryType == "MultiPolygon" ) ;
52
+ }
53
+
54
+
55
+ [ Test ]
56
+ public void ReadCityJsonSeqFile ( )
57
+ {
58
+ var jsonSeq = File . ReadAllText ( "fixtures/tile_00000.city.jsonl" ) ;
59
+
60
+ var allLines = jsonSeq . Split ( '\n ' ) ;
61
+
62
+ var firstLine = allLines [ 0 ] ;
63
+ var cityJson = JsonConvert . DeserializeObject < CityJsonDocument > ( firstLine ) ;
64
+ Assert . That ( cityJson . Type == "CityJSON" ) ;
65
+ Assert . That ( cityJson . Version == "2.0" ) ;
66
+
67
+ var transform = cityJson . Transform ;
68
+ Assert . That ( transform . Scale . Length == 3 ) ;
69
+ Assert . That ( transform . Scale [ 0 ] == 0.01 ) ;
70
+ Assert . That ( transform . Scale [ 1 ] == 0.01 ) ;
71
+ Assert . That ( transform . Scale [ 2 ] == 0.01 ) ;
72
+ Assert . That ( transform . Translate . Length == 3 ) ;
73
+ Assert . That ( transform . Translate [ 0 ] == 1033078.6 ) ;
74
+ Assert . That ( transform . Translate [ 1 ] == 6280758.8 ) ;
75
+ Assert . That ( transform . Translate [ 2 ] == 0.0 ) ;
76
+ Assert . That ( cityJson . Vertices . Count == 0 ) ;
77
+
78
+ var secondLine = allLines [ 1 ] ;
79
+ var cityJsonSecond = JsonConvert . DeserializeObject < CityJsonDocument > ( secondLine ) ;
80
+ Assert . That ( cityJsonSecond . CityObjects . Count == 2 ) ;
81
+ var wkt = cityJsonSecond . ToWkt ( transform ) ;
82
+
83
+ // read with NetTopologySuite
84
+ var reader = new NetTopologySuite . IO . WKTReader ( ) ;
85
+ var geom = reader . Read ( wkt ) ;
86
+ Assert . That ( geom . GeometryType == "MultiPolygon" ) ;
87
+ }
88
+
89
+ [ Test ]
90
+ public void ReadMinimal20CityJson ( )
91
+ {
92
+ var json = File . ReadAllText ( "fixtures/minimal.city.json" ) ;
93
+ var cityjson = JsonConvert . DeserializeObject < CityJsonDocument > ( json ) ;
94
+
95
+ Assert . That ( cityjson . Type == "CityJSON" ) ;
96
+ Assert . That ( cityjson . Version == "2.0" ) ;
97
+ Assert . That ( cityjson . CityObjects . Count == 0 ) ;
98
+
99
+ Assert . That ( cityjson . Transform . Scale . Length == 3 ) ;
100
+ Assert . That ( cityjson . Transform . Scale [ 0 ] == 1 ) ;
101
+ Assert . That ( cityjson . Transform . Scale [ 1 ] == 1 ) ;
102
+ Assert . That ( cityjson . Transform . Scale [ 2 ] == 1 ) ;
103
+
104
+ Assert . That ( cityjson . Transform . Translate . Length == 3 ) ;
105
+ Assert . That ( cityjson . Transform . Translate [ 0 ] == 0 ) ;
106
+ Assert . That ( cityjson . Transform . Translate [ 1 ] == 0 ) ;
107
+ Assert . That ( cityjson . Transform . Translate [ 2 ] == 0 ) ;
108
+
109
+ Assert . That ( cityjson . CityObjects . Count == 0 ) ;
110
+ Assert . That ( cityjson . Vertices . Count == 0 ) ;
111
+ }
112
+
113
+
114
+ [ Test ]
115
+ public void TestReadDenHaag ( )
116
+ {
117
+ var json = File . ReadAllText ( "fixtures/denhaag.json" ) ;
118
+ var cityjson = JsonConvert . DeserializeObject < CityJsonDocument > ( json ) ;
119
+ Assert . That ( cityjson . Version == "1.0" ) ;
120
+ Assert . That ( cityjson . CityObjects . Count == 2498 ) ;
121
+ var firstCityObject = cityjson . CityObjects . First ( ) . Value ;
122
+ var attributes = firstCityObject . Attributes ;
123
+ Assert . That ( attributes . Count == 5 ) ;
124
+ var firstAttribute = attributes . First ( ) . Value ;
125
+ Assert . That ( firstAttribute . Equals ( "1000" ) ) ;
126
+
127
+ var firstGeometry = firstCityObject . Geometry . First ( ) ;
128
+ Assert . That ( firstGeometry . Type == Geometry . GeometryType . Solid ) ;
129
+
130
+ Assert . That ( firstGeometry . Lod == "2" ) ;
131
+ }
132
+
133
+ [ Test ]
134
+ public void TestReadGebouwen ( )
135
+ {
136
+ var json = File . ReadAllText ( "fixtures/25gn1_04_2020_gebouwen.json" ) ;
137
+ var cityjson = JsonConvert . DeserializeObject < CityJsonDocument > ( json ) ;
138
+ Assert . That ( cityjson . Version == "1.0" ) ;
139
+ Assert . That ( cityjson . CityObjects . Count == 7313 ) ;
140
+ }
141
+ }
142
+ }
0 commit comments