aixm 0.1.0 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -1
  3. data/Guardfile +1 -1
  4. data/README.md +146 -17
  5. data/aixm.gemspec +3 -1
  6. data/lib/aixm.rb +12 -10
  7. data/lib/aixm/component/base.rb +6 -0
  8. data/lib/aixm/component/class_layer.rb +49 -0
  9. data/lib/aixm/component/geometry.rb +73 -0
  10. data/lib/aixm/component/geometry/arc.rb +53 -0
  11. data/lib/aixm/component/geometry/border.rb +49 -0
  12. data/lib/aixm/component/geometry/circle.rb +56 -0
  13. data/lib/aixm/component/geometry/point.rb +42 -0
  14. data/lib/aixm/component/schedule.rb +45 -0
  15. data/lib/aixm/{vertical/limits.rb → component/vertical_limits.rb} +9 -14
  16. data/lib/aixm/document.rb +30 -19
  17. data/lib/aixm/feature/airspace.rb +60 -29
  18. data/lib/aixm/refinements.rb +49 -2
  19. data/lib/aixm/shortcuts.rb +30 -0
  20. data/lib/aixm/version.rb +1 -1
  21. data/spec/factory.rb +42 -25
  22. data/spec/lib/aixm/component/class_layer_spec.rb +74 -0
  23. data/spec/lib/aixm/{horizontal → component/geometry}/arc_spec.rb +11 -11
  24. data/spec/lib/aixm/component/geometry/border_spec.rb +30 -0
  25. data/spec/lib/aixm/{horizontal → component/geometry}/circle_spec.rb +8 -8
  26. data/spec/lib/aixm/{horizontal → component/geometry}/point_spec.rb +7 -7
  27. data/spec/lib/aixm/{geometry_spec.rb → component/geometry_spec.rb} +39 -40
  28. data/spec/lib/aixm/component/schedule_spec.rb +33 -0
  29. data/spec/lib/aixm/{vertical/limits_spec.rb → component/vertical_limits_spec.rb} +10 -10
  30. data/spec/lib/aixm/document_spec.rb +97 -36
  31. data/spec/lib/aixm/feature/airspace_spec.rb +230 -71
  32. data/spec/lib/aixm/refinements_spec.rb +52 -12
  33. metadata +30 -23
  34. data/lib/aixm/constants.rb +0 -6
  35. data/lib/aixm/geometry.rb +0 -71
  36. data/lib/aixm/horizontal/arc.rb +0 -50
  37. data/lib/aixm/horizontal/border.rb +0 -45
  38. data/lib/aixm/horizontal/circle.rb +0 -53
  39. data/lib/aixm/horizontal/point.rb +0 -39
  40. data/spec/lib/aixm/horizontal/border_spec.rb +0 -47
@@ -6,90 +6,249 @@ describe AIXM::Feature::Airspace do
6
6
  AIXM::Feature::Airspace.new(name: 'foobar', type: 'D')
7
7
  end
8
8
 
9
- describe :valid? do
9
+ describe :complete? do
10
10
  it "must fail validation" do
11
- subject.wont_be :valid?
12
- end
13
- end
14
-
15
- describe :vertical_limits= do
16
- it "won't accept invalid vertical limits" do
17
- -> { subject.vertical_limits=0 }.must_raise ArgumentError
11
+ subject.wont_be :complete?
18
12
  end
19
13
  end
20
14
  end
21
15
 
22
16
  context "complete" do
23
- subject do
24
- AIXM::Factory.polygon_airspace
25
- end
17
+ context "with one class layer" do
18
+ subject do
19
+ AIXM::Factory.polygon_airspace
20
+ end
26
21
 
27
- describe :valid? do
28
- it "must pass validation" do
29
- subject.must_be :valid?
22
+ describe :complete? do
23
+ it "must pass validation" do
24
+ subject.must_be :complete?
25
+ end
30
26
  end
31
- end
32
27
 
33
- describe :to_digest do
34
- it "must return digest of payload" do
35
- subject.to_digest.must_equal '7F466CA0'
28
+ describe :to_digest do
29
+ it "must return digest of payload" do
30
+ subject.to_digest.must_equal 202650074
31
+ end
36
32
  end
37
- end
38
33
 
39
- describe :to_xml do
40
- it "must build correct XML with OFM extensions" do
41
- subject.to_xml(:OFM).must_equal <<~END
42
- <Ase xt_classLayersAvail="false">
43
- <AseUid mid="7F466CA0" newEntity="true">
44
- <codeType>D</codeType>
45
- <codeId>7F466CA0</codeId>
46
- </AseUid>
47
- <txtName>POLYGON AIRSPACE</txtName>
48
- <codeDistVerUpper>STD</codeDistVerUpper>
49
- <valDistVerUpper>65</valDistVerUpper>
50
- <uomDistVerUpper>FL</uomDistVerUpper>
51
- <codeDistVerLower>STD</codeDistVerLower>
52
- <valDistVerLower>45</valDistVerLower>
53
- <uomDistVerLower>FL</uomDistVerLower>
54
- <codeDistVerMax>ALT</codeDistVerMax>
55
- <valDistVerMax>6000</valDistVerMax>
56
- <uomDistVerMax>FT</uomDistVerMax>
57
- <codeDistVerMnm>HEI</codeDistVerMnm>
58
- <valDistVerMnm>3000</valDistVerMnm>
59
- <uomDistVerMnm>FT</uomDistVerMnm>
60
- <txtRmk>polygon airspace</txtRmk>
61
- <xt_txtRmk>polygon airspace</xt_txtRmk>
62
- <xt_selAvail>false</xt_selAvail>
63
- </Ase>
64
- <Abd>
65
- <AbdUid>
66
- <AseUid mid="7F466CA0" newEntity="true">
34
+ describe :to_xml do
35
+ it "must build correct XML with OFM extensions" do
36
+ digest = subject.to_digest
37
+ subject.to_xml(:OFM).must_equal <<~"END"
38
+ <!-- Airspace: [D] POLYGON AIRSPACE -->
39
+ <Ase xt_classLayersAvail="false">
40
+ <AseUid mid="#{digest}" newEntity="true">
67
41
  <codeType>D</codeType>
68
- <codeId>7F466CA0</codeId>
42
+ <codeId>#{digest}</codeId>
69
43
  </AseUid>
70
- </AbdUid>
71
- <Avx>
72
- <codeType>CWA</codeType>
73
- <geoLat>475133.00N</geoLat>
74
- <geoLong>0073336.00E</geoLong>
75
- <codeDatum>WGE</codeDatum>
76
- <geoLatArc>475415.00N</geoLatArc>
77
- <geoLongArc>0073348.00E</geoLongArc>
78
- </Avx>
79
- <Avx>
80
- <codeType>FNT</codeType>
81
- <geoLat>475637.00N</geoLat>
82
- <geoLong>0073545.00E</geoLong>
83
- <codeDatum>WGE</codeDatum>
84
- </Avx>
85
- <Avx>
86
- <codeType>GRC</codeType>
87
- <geoLat>475133.00N</geoLat>
88
- <geoLong>0073336.00E</geoLong>
89
- <codeDatum>WGE</codeDatum>
90
- </Avx>
91
- </Abd>
92
- END
44
+ <txtLocalType>POLYGON</txtLocalType>
45
+ <txtName>POLYGON AIRSPACE</txtName>
46
+ <codeClass>C</codeClass>
47
+ <codeDistVerUpper>STD</codeDistVerUpper>
48
+ <valDistVerUpper>65</valDistVerUpper>
49
+ <uomDistVerUpper>FL</uomDistVerUpper>
50
+ <codeDistVerLower>STD</codeDistVerLower>
51
+ <valDistVerLower>45</valDistVerLower>
52
+ <uomDistVerLower>FL</uomDistVerLower>
53
+ <codeDistVerMax>ALT</codeDistVerMax>
54
+ <valDistVerMax>6000</valDistVerMax>
55
+ <uomDistVerMax>FT</uomDistVerMax>
56
+ <codeDistVerMnm>HEI</codeDistVerMnm>
57
+ <valDistVerMnm>3000</valDistVerMnm>
58
+ <uomDistVerMnm>FT</uomDistVerMnm>
59
+ <Att>
60
+ <codeWorkHr>H24</codeWorkHr>
61
+ </Att>
62
+ <txtRmk>polygon airspace</txtRmk>
63
+ <xt_selAvail>false</xt_selAvail>
64
+ </Ase>
65
+ <Abd>
66
+ <AbdUid>
67
+ <AseUid mid="#{digest}" newEntity="true">
68
+ <codeType>D</codeType>
69
+ <codeId>#{digest}</codeId>
70
+ </AseUid>
71
+ </AbdUid>
72
+ <Avx>
73
+ <codeType>CWA</codeType>
74
+ <geoLat>47.85916667N</geoLat>
75
+ <geoLong>7.56000000E</geoLong>
76
+ <codeDatum>WGE</codeDatum>
77
+ <geoLatArc>47.90416667N</geoLatArc>
78
+ <geoLongArc>7.56333333E</geoLongArc>
79
+ </Avx>
80
+ <Avx>
81
+ <codeType>FNT</codeType>
82
+ <geoLat>47.94361111N</geoLat>
83
+ <geoLong>7.59583333E</geoLong>
84
+ <codeDatum>WGE</codeDatum>
85
+ <GbrUid>
86
+ <txtName>FRANCE_GERMANY</txtName>
87
+ </GbrUid>
88
+ </Avx>
89
+ <Avx>
90
+ <codeType>GRC</codeType>
91
+ <geoLat>47.85916667N</geoLat>
92
+ <geoLong>7.56000000E</geoLong>
93
+ <codeDatum>WGE</codeDatum>
94
+ </Avx>
95
+ </Abd>
96
+ END
97
+ end
98
+ end
99
+
100
+ context "with two class layers" do
101
+ subject do
102
+ AIXM::Factory.polygon_airspace.tap do |airspace|
103
+ airspace.class_layers << AIXM::Factory.class_layer
104
+ end
105
+ end
106
+
107
+ describe :complete? do
108
+ it "must pass validation" do
109
+ subject.must_be :complete?
110
+ end
111
+ end
112
+
113
+ describe :to_digest do
114
+ it "must return digest of payload" do
115
+ subject.to_digest.must_equal 880919413
116
+ end
117
+ end
118
+
119
+ describe :to_xml do
120
+ it "must build correct XML with OFM extensions" do
121
+ digest = subject.to_digest
122
+ subject.to_xml(:OFM).must_equal <<~"END"
123
+ <!-- Airspace: [D] POLYGON AIRSPACE -->
124
+ <Ase xt_classLayersAvail="true">
125
+ <AseUid mid="#{digest}" newEntity="true">
126
+ <codeType>D</codeType>
127
+ <codeId>#{digest}</codeId>
128
+ </AseUid>
129
+ <txtLocalType>POLYGON</txtLocalType>
130
+ <txtName>POLYGON AIRSPACE</txtName>
131
+ <codeClass>C</codeClass>
132
+ <codeDistVerUpper>STD</codeDistVerUpper>
133
+ <valDistVerUpper>65</valDistVerUpper>
134
+ <uomDistVerUpper>FL</uomDistVerUpper>
135
+ <codeDistVerLower>STD</codeDistVerLower>
136
+ <valDistVerLower>45</valDistVerLower>
137
+ <uomDistVerLower>FL</uomDistVerLower>
138
+ <codeDistVerMax>ALT</codeDistVerMax>
139
+ <valDistVerMax>6000</valDistVerMax>
140
+ <uomDistVerMax>FT</uomDistVerMax>
141
+ <codeDistVerMnm>HEI</codeDistVerMnm>
142
+ <valDistVerMnm>3000</valDistVerMnm>
143
+ <uomDistVerMnm>FT</uomDistVerMnm>
144
+ <Att>
145
+ <codeWorkHr>H24</codeWorkHr>
146
+ </Att>
147
+ <txtRmk>polygon airspace</txtRmk>
148
+ <xt_selAvail>false</xt_selAvail>
149
+ </Ase>
150
+ <Abd>
151
+ <AbdUid>
152
+ <AseUid mid="#{digest}" newEntity="true">
153
+ <codeType>D</codeType>
154
+ <codeId>#{digest}</codeId>
155
+ </AseUid>
156
+ </AbdUid>
157
+ <Avx>
158
+ <codeType>CWA</codeType>
159
+ <geoLat>47.85916667N</geoLat>
160
+ <geoLong>7.56000000E</geoLong>
161
+ <codeDatum>WGE</codeDatum>
162
+ <geoLatArc>47.90416667N</geoLatArc>
163
+ <geoLongArc>7.56333333E</geoLongArc>
164
+ </Avx>
165
+ <Avx>
166
+ <codeType>FNT</codeType>
167
+ <geoLat>47.94361111N</geoLat>
168
+ <geoLong>7.59583333E</geoLong>
169
+ <codeDatum>WGE</codeDatum>
170
+ <GbrUid>
171
+ <txtName>FRANCE_GERMANY</txtName>
172
+ </GbrUid>
173
+ </Avx>
174
+ <Avx>
175
+ <codeType>GRC</codeType>
176
+ <geoLat>47.85916667N</geoLat>
177
+ <geoLong>7.56000000E</geoLong>
178
+ <codeDatum>WGE</codeDatum>
179
+ </Avx>
180
+ </Abd>
181
+ <Adg>
182
+ <AdgUid>
183
+ <AseUid mid="#{digest}.1">
184
+ <codeType>CLASS</codeType>
185
+ </AseUid>
186
+ </AdgUid>
187
+ <AdgUid>
188
+ <AseUid mid="#{digest}.2">
189
+ <codeType>CLASS</codeType>
190
+ </AseUid>
191
+ </AdgUid>
192
+ <AseUidSameExtent mid="#{digest}"/>
193
+ </Adg>
194
+ <Ase>
195
+ <AseUid mid="#{digest}.1">
196
+ <codeType>CLASS</codeType>
197
+ </AseUid>
198
+ <txtName>POLYGON AIRSPACE</txtName>
199
+ <codeClass>C</codeClass>
200
+ <codeDistVerUpper>STD</codeDistVerUpper>
201
+ <valDistVerUpper>65</valDistVerUpper>
202
+ <uomDistVerUpper>FL</uomDistVerUpper>
203
+ <codeDistVerLower>STD</codeDistVerLower>
204
+ <valDistVerLower>45</valDistVerLower>
205
+ <uomDistVerLower>FL</uomDistVerLower>
206
+ <codeDistVerMax>ALT</codeDistVerMax>
207
+ <valDistVerMax>6000</valDistVerMax>
208
+ <uomDistVerMax>FT</uomDistVerMax>
209
+ <codeDistVerMnm>HEI</codeDistVerMnm>
210
+ <valDistVerMnm>3000</valDistVerMnm>
211
+ <uomDistVerMnm>FT</uomDistVerMnm>
212
+ </Ase>
213
+ <Ase>
214
+ <AseUid mid="#{digest}.2">
215
+ <codeType>CLASS</codeType>
216
+ </AseUid>
217
+ <txtName>POLYGON AIRSPACE</txtName>
218
+ <codeClass>C</codeClass>
219
+ <codeDistVerUpper>STD</codeDistVerUpper>
220
+ <valDistVerUpper>65</valDistVerUpper>
221
+ <uomDistVerUpper>FL</uomDistVerUpper>
222
+ <codeDistVerLower>STD</codeDistVerLower>
223
+ <valDistVerLower>45</valDistVerLower>
224
+ <uomDistVerLower>FL</uomDistVerLower>
225
+ <codeDistVerMax>ALT</codeDistVerMax>
226
+ <valDistVerMax>6000</valDistVerMax>
227
+ <uomDistVerMax>FT</uomDistVerMax>
228
+ <codeDistVerMnm>HEI</codeDistVerMnm>
229
+ <valDistVerMnm>3000</valDistVerMnm>
230
+ <uomDistVerMnm>FT</uomDistVerMnm>
231
+ </Ase>
232
+ END
233
+ end
234
+ end
235
+ end
236
+ end
237
+
238
+ context "partially complete" do
239
+ it "must build correct XML without short name" do
240
+ subject = AIXM::Factory.polygon_airspace(short_name: nil)
241
+ subject.to_xml.wont_match(/txtLocalType/)
242
+ end
243
+
244
+ it "must build correct XML with identical name and short name" do
245
+ subject = AIXM::Factory.polygon_airspace(short_name: 'POLYGON AIRSPACE')
246
+ subject.to_xml.wont_match(/txtLocalType/)
247
+ end
248
+
249
+ it "must build correct XML without schedule" do
250
+ subject = AIXM::Factory.polygon_airspace(schedule: nil)
251
+ subject.to_xml.wont_match(/codeWorkHr/)
93
252
  end
94
253
  end
95
254
  end
@@ -4,29 +4,40 @@ using AIXM::Refinements
4
4
 
5
5
  describe AIXM::Refinements do
6
6
 
7
+ describe 'Array#>>' do
8
+ it "must be a shortcut of include?" do
9
+ ([0] >> 1).must_equal [0].include?(1)
10
+ ([1] >> 1).must_equal [1].include?(1)
11
+ end
12
+ end
13
+
7
14
  describe 'Array#to_digest' do
8
15
  it "must digest single string" do
9
- %w(a).to_digest.must_equal Digest::MD5.hexdigest('a')[0, 8].upcase
16
+ %w(a).to_digest.must_equal 140922416
10
17
  end
11
18
 
12
19
  it "must digest double string" do
13
- %w(a b).to_digest.must_equal Digest::MD5.hexdigest('a|b')[0, 8].upcase
20
+ %w(a b).to_digest.must_equal 307557246
14
21
  end
15
22
 
16
23
  it "must digest integer" do
17
- [5].to_digest.must_equal Digest::MD5.hexdigest('5')[0, 8].upcase
24
+ [5].to_digest.must_equal 60537198
25
+ end
26
+
27
+ it "must digest nested array" do
28
+ [1, [2, 3]].to_digest.must_equal 960981551
18
29
  end
19
30
 
20
31
  it "must digest float" do
21
- [5.0].to_digest.must_equal Digest::MD5.hexdigest('5.0')[0, 8].upcase
32
+ [5.0].to_digest.must_equal 786519620
22
33
  end
23
34
 
24
35
  it "must digest boolean" do
25
- [true, false].to_digest.must_equal Digest::MD5.hexdigest('true|false')[0, 8].upcase
36
+ [true, false].to_digest.must_equal 796799143
26
37
  end
27
38
 
28
39
  it "must digest nil" do
29
- [nil].to_digest.must_equal Digest::MD5.hexdigest('')[0, 8].upcase
40
+ [nil].to_digest.must_equal 831357815
30
41
  end
31
42
  end
32
43
 
@@ -41,6 +52,12 @@ describe AIXM::Refinements do
41
52
  end
42
53
  end
43
54
 
55
+ describe 'String#uptrans' do
56
+ it "must transliterate illegal characters" do
57
+ 'DÉJÀ SCHÖN'.uptrans.must_equal 'DEJA SCHOEN'
58
+ end
59
+ end
60
+
44
61
  describe 'String#to_dd' do
45
62
  it "must convert +6.2 DMS to DD" do
46
63
  %q(12°34'56.78").to_dd.must_equal 12.58243888888889
@@ -115,15 +132,19 @@ describe AIXM::Refinements do
115
132
  end
116
133
 
117
134
  it "must do all possible roundtrip conversions" do
118
- 2.times.with_index do |degrees|
119
- 60.times.with_index do |minutes|
120
- 60.times.with_index do |seconds|
121
- 100.times.with_index do |fractions|
122
- subject = %q(%03d°%02d'%02d.%02d") % [degrees, minutes, seconds, fractions]
123
- subject.to_dd.to_dms.must_equal subject
135
+ if ENV['SPEC_SCOPE'] == 'all'
136
+ 2.times.with_index do |degrees|
137
+ 60.times.with_index do |minutes|
138
+ 60.times.with_index do |seconds|
139
+ 100.times.with_index do |fractions|
140
+ subject = %q(%03d°%02d'%02d.%02d") % [degrees, minutes, seconds, fractions]
141
+ subject.to_dd.to_dms.must_equal subject
142
+ end
124
143
  end
125
144
  end
126
145
  end
146
+ else
147
+ skip
127
148
  end
128
149
  end
129
150
  end
@@ -177,4 +198,23 @@ describe AIXM::Refinements do
177
198
  1.37595556.to_dms(0).must_equal %q(1°22'33.44")
178
199
  end
179
200
  end
201
+
202
+ describe 'Float#to_km' do
203
+ it "must convert km to km" do
204
+ 10.3.to_km(from: :km).must_equal 10.3
205
+ end
206
+
207
+ it "must convert m to km" do
208
+ 10700.0.to_km(from: :m).must_be_close_to 10.7
209
+ end
210
+
211
+ it "must convert nm to km" do
212
+ 3.7.to_km(from: :nm).must_be_close_to 6.8524
213
+ end
214
+
215
+ it "must convert ft to km" do
216
+ 3200.0.to_km(from: :ft).must_be_close_to 0.97536
217
+ end
218
+ end
219
+
180
220
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aixm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Schwyn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-14 00:00:00.000000000 Z
11
+ date: 2018-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -168,39 +168,44 @@ files:
168
168
  - Rakefile
169
169
  - aixm.gemspec
170
170
  - lib/aixm.rb
171
- - lib/aixm/constants.rb
171
+ - lib/aixm/component/base.rb
172
+ - lib/aixm/component/class_layer.rb
173
+ - lib/aixm/component/geometry.rb
174
+ - lib/aixm/component/geometry/arc.rb
175
+ - lib/aixm/component/geometry/border.rb
176
+ - lib/aixm/component/geometry/circle.rb
177
+ - lib/aixm/component/geometry/point.rb
178
+ - lib/aixm/component/schedule.rb
179
+ - lib/aixm/component/vertical_limits.rb
172
180
  - lib/aixm/document.rb
173
181
  - lib/aixm/feature/airspace.rb
174
- - lib/aixm/geometry.rb
175
- - lib/aixm/horizontal/arc.rb
176
- - lib/aixm/horizontal/border.rb
177
- - lib/aixm/horizontal/circle.rb
178
- - lib/aixm/horizontal/point.rb
179
182
  - lib/aixm/refinements.rb
180
183
  - lib/aixm/schemas/4.5/AIXM-DataTypes.xsd
181
184
  - lib/aixm/schemas/4.5/AIXM-Features.xsd
182
185
  - lib/aixm/schemas/4.5/AIXM-Snapshot.xsd
186
+ - lib/aixm/shortcuts.rb
183
187
  - lib/aixm/version.rb
184
- - lib/aixm/vertical/limits.rb
185
188
  - lib/aixm/xy.rb
186
189
  - lib/aixm/z.rb
187
190
  - spec/factory.rb
191
+ - spec/lib/aixm/component/class_layer_spec.rb
192
+ - spec/lib/aixm/component/geometry/arc_spec.rb
193
+ - spec/lib/aixm/component/geometry/border_spec.rb
194
+ - spec/lib/aixm/component/geometry/circle_spec.rb
195
+ - spec/lib/aixm/component/geometry/point_spec.rb
196
+ - spec/lib/aixm/component/geometry_spec.rb
197
+ - spec/lib/aixm/component/schedule_spec.rb
198
+ - spec/lib/aixm/component/vertical_limits_spec.rb
188
199
  - spec/lib/aixm/document_spec.rb
189
200
  - spec/lib/aixm/feature/airspace_spec.rb
190
- - spec/lib/aixm/geometry_spec.rb
191
- - spec/lib/aixm/horizontal/arc_spec.rb
192
- - spec/lib/aixm/horizontal/border_spec.rb
193
- - spec/lib/aixm/horizontal/circle_spec.rb
194
- - spec/lib/aixm/horizontal/point_spec.rb
195
201
  - spec/lib/aixm/refinements_spec.rb
196
202
  - spec/lib/aixm/version_spec.rb
197
- - spec/lib/aixm/vertical/limits_spec.rb
198
203
  - spec/lib/aixm/xy_spec.rb
199
204
  - spec/lib/aixm/z_spec.rb
200
205
  - spec/sounds/failure.mp3
201
206
  - spec/sounds/success.mp3
202
207
  - spec/spec_helper.rb
203
- homepage: http://www.bitcetera.com/products/aixm
208
+ homepage: https://github.com/svoop/aixm
204
209
  licenses:
205
210
  - MIT
206
211
  metadata: {}
@@ -212,7 +217,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
217
  requirements:
213
218
  - - ">="
214
219
  - !ruby/object:Gem::Version
215
- version: '0'
220
+ version: '2.5'
216
221
  required_rubygems_version: !ruby/object:Gem::Requirement
217
222
  requirements:
218
223
  - - ">="
@@ -226,16 +231,18 @@ specification_version: 4
226
231
  summary: Aeronautical Information Exchange Model (AIXM 4.5).
227
232
  test_files:
228
233
  - spec/factory.rb
234
+ - spec/lib/aixm/component/class_layer_spec.rb
235
+ - spec/lib/aixm/component/geometry/arc_spec.rb
236
+ - spec/lib/aixm/component/geometry/border_spec.rb
237
+ - spec/lib/aixm/component/geometry/circle_spec.rb
238
+ - spec/lib/aixm/component/geometry/point_spec.rb
239
+ - spec/lib/aixm/component/geometry_spec.rb
240
+ - spec/lib/aixm/component/schedule_spec.rb
241
+ - spec/lib/aixm/component/vertical_limits_spec.rb
229
242
  - spec/lib/aixm/document_spec.rb
230
243
  - spec/lib/aixm/feature/airspace_spec.rb
231
- - spec/lib/aixm/geometry_spec.rb
232
- - spec/lib/aixm/horizontal/arc_spec.rb
233
- - spec/lib/aixm/horizontal/border_spec.rb
234
- - spec/lib/aixm/horizontal/circle_spec.rb
235
- - spec/lib/aixm/horizontal/point_spec.rb
236
244
  - spec/lib/aixm/refinements_spec.rb
237
245
  - spec/lib/aixm/version_spec.rb
238
- - spec/lib/aixm/vertical/limits_spec.rb
239
246
  - spec/lib/aixm/xy_spec.rb
240
247
  - spec/lib/aixm/z_spec.rb
241
248
  - spec/sounds/failure.mp3