ffi-geos 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -39,7 +39,7 @@ class InterruptTests < Minitest::Test
39
39
 
40
40
  begin
41
41
  buffer = geom.buffer(1, 8)
42
- rescue => e
42
+ rescue StandardError => e
43
43
  # no-op
44
44
  ensure
45
45
  assert_match(/^InterruptedException/, e.message)
@@ -62,7 +62,7 @@ class InterruptTests < Minitest::Test
62
62
 
63
63
  begin
64
64
  buffer = geom.buffer(1, 8)
65
- rescue => e
65
+ rescue StandardError => e
66
66
  # no-op
67
67
  ensure
68
68
  assert_match(/^InterruptedException/, e.message)
@@ -87,7 +87,7 @@ class InterruptTests < Minitest::Test
87
87
 
88
88
  begin
89
89
  buffer = geom.buffer(1, 8)
90
- rescue => e
90
+ rescue StandardError => e
91
91
  # no-op
92
92
  ensure
93
93
  assert_match(/^InterruptedException/, e.message)
@@ -114,7 +114,7 @@ class InterruptTests < Minitest::Test
114
114
  prc_1 = proc {
115
115
  interrupt_called
116
116
  called << :prc_1
117
- prev.call if prev
117
+ prev&.call
118
118
  }
119
119
 
120
120
  Geos::Interrupt.register(prc_0)
@@ -122,13 +122,13 @@ class InterruptTests < Minitest::Test
122
122
 
123
123
  begin
124
124
  buffer = geom.buffer(1, 8)
125
- rescue => e
125
+ rescue StandardError => e
126
126
  # no-op
127
127
  ensure
128
128
  assert_match(/^InterruptedException/, e.message)
129
129
  assert_nil(buffer)
130
130
  assert_interrupt_called(1)
131
- assert_equal([ :prc_1, :prc_0 ], called)
131
+ assert_equal([:prc_1, :prc_0], called)
132
132
  end
133
133
  end
134
134
  end
@@ -160,7 +160,7 @@ class InterruptTests < Minitest::Test
160
160
 
161
161
  begin
162
162
  buffer = geom.buffer(1, 8)
163
- rescue => e
163
+ rescue StandardError => e
164
164
  assert_match(/^InterruptedException/, e.message)
165
165
  assert_nil(buffer)
166
166
  end
@@ -250,8 +250,8 @@ class LineStringTests < Minitest::Test
250
250
 
251
251
  wkt = 'LINESTRING (0 0, 10 10)'
252
252
 
253
- affine_tester(:rotate, 'LINESTRING (30 10, 20 20)', wkt, Math::PI / 2, [ 10.0, 20.0 ])
254
- affine_tester(:rotate, 'LINESTRING (-3 1, 7 -9)', wkt, -Math::PI / 2, [ -1.0, 2.0 ])
253
+ affine_tester(:rotate, 'LINESTRING (30 10, 20 20)', wkt, Math::PI / 2, [10.0, 20.0])
254
+ affine_tester(:rotate, 'LINESTRING (-3 1, 7 -9)', wkt, -Math::PI / 2, [-1.0, 2.0])
255
255
  affine_tester(:rotate, 'LINESTRING (2 2, -8 -8)', wkt, Math::PI, read('POINT(1 1)'))
256
256
  affine_tester(:rotate, 'LINESTRING (0.5 -0.5, -9.5 9.5)', wkt, Math::PI / 2, read('LINESTRING(0 0, 1 0)'))
257
257
  end
@@ -300,11 +300,11 @@ class LineStringTests < Minitest::Test
300
300
  end
301
301
 
302
302
  def test_scale_hash
303
- affine_tester(:scale, 'LINESTRING (5 5, 50 50)', 'LINESTRING (1 1, 10 10)', :x => 5, :y => 5)
304
- affine_tester(:scale, 'LINESTRING (3 2, 30 20)', 'LINESTRING (1 1, 10 10)', :x => 3, :y => 2)
303
+ affine_tester(:scale, 'LINESTRING (5 5, 50 50)', 'LINESTRING (1 1, 10 10)', x: 5, y: 5)
304
+ affine_tester(:scale, 'LINESTRING (3 2, 30 20)', 'LINESTRING (1 1, 10 10)', x: 3, y: 2)
305
305
 
306
306
  writer.output_dimensions = 3
307
- affine_tester(:scale, 'LINESTRING Z (40 40 40, 80 80 80)', 'LINESTRING Z (10 20 -5, 20 40 -10)', :x => 4, :y => 2, :z => -8)
307
+ affine_tester(:scale, 'LINESTRING Z (40 40 40, 80 80 80)', 'LINESTRING Z (10 20 -5, 20 40 -10)', x: 4, y: 2, z: -8)
308
308
  end
309
309
 
310
310
  def test_trans_scale
@@ -326,11 +326,11 @@ class LineStringTests < Minitest::Test
326
326
  end
327
327
 
328
328
  def test_trans_scale_hash
329
- affine_tester(:trans_scale, 'LINESTRING (2 2, 11 11)', 'LINESTRING (1 1, 10 10)', :delta_x => 1, :delta_y => 1, :x_factor => 1, :y_factor => 1)
329
+ affine_tester(:trans_scale, 'LINESTRING (2 2, 11 11)', 'LINESTRING (1 1, 10 10)', delta_x: 1, delta_y: 1, x_factor: 1, y_factor: 1)
330
330
 
331
331
  writer.output_dimensions = 3
332
- affine_tester(:trans_scale, 'LINESTRING Z (15 28 1, 60 91 10)', 'LINESTRING Z (1 1 1, 10 10 10)', :delta_x => 2, :delta_y => 3, :x_factor => 5, :y_factor => 7)
333
- affine_tester(:trans_scale, 'LINESTRING Z (3 1 1, 12 10 10)', 'LINESTRING Z (1 1 1, 10 10 10)', :delta_x => 2, :z_factor => 2)
332
+ affine_tester(:trans_scale, 'LINESTRING Z (15 28 1, 60 91 10)', 'LINESTRING Z (1 1 1, 10 10 10)', delta_x: 2, delta_y: 3, x_factor: 5, y_factor: 7)
333
+ affine_tester(:trans_scale, 'LINESTRING Z (3 1 1, 12 10 10)', 'LINESTRING Z (1 1 1, 10 10 10)', delta_x: 2, z_factor: 2)
334
334
  end
335
335
 
336
336
  def test_translate
@@ -341,10 +341,10 @@ class LineStringTests < Minitest::Test
341
341
  end
342
342
 
343
343
  def test_translate_hash
344
- affine_tester(:translate, 'LINESTRING (5 12, 15 22)', 'LINESTRING (0 0, 10 10)', :x => 5, :y => 12)
344
+ affine_tester(:translate, 'LINESTRING (5 12, 15 22)', 'LINESTRING (0 0, 10 10)', x: 5, y: 12)
345
345
 
346
346
  writer.output_dimensions = 3
347
- affine_tester(:translate, 'LINESTRING Z (-3 -7 3, 7 3 13)', 'LINESTRING Z (0 0 0, 10 10 10)', :x => -3, :y => -7, :z => 3)
347
+ affine_tester(:translate, 'LINESTRING Z (-3 -7 3, 7 3 13)', 'LINESTRING Z (0 0 0, 10 10 10)', x: -3, y: -7, z: 3)
348
348
  end
349
349
 
350
350
  def test_line_interpolate_point
@@ -163,8 +163,8 @@ class PointTests < Minitest::Test
163
163
 
164
164
  wkt = 'POINT (1 1)'
165
165
 
166
- affine_tester(:rotate, 'POINT (29 11)', wkt, Math::PI / 2, [ 10.0, 20.0 ])
167
- affine_tester(:rotate, 'POINT (-2 0)', wkt, -Math::PI / 2, [ -1.0, 2.0 ])
166
+ affine_tester(:rotate, 'POINT (29 11)', wkt, Math::PI / 2, [10.0, 20.0])
167
+ affine_tester(:rotate, 'POINT (-2 0)', wkt, -Math::PI / 2, [-1.0, 2.0])
168
168
  affine_tester(:rotate, 'POINT (19 1)', wkt, Math::PI / 2, read('POINT(10 10)'))
169
169
  affine_tester(:rotate, 'POINT (-0.5 0.5)', wkt, Math::PI / 2, read('LINESTRING(0 0, 1 0)'))
170
170
  end
@@ -79,8 +79,7 @@ class PolygonTests < Minitest::Test
79
79
 
80
80
  def test_snap_to_grid_with_illegal_result
81
81
  assert_raises(Geos::InvalidGeometryError) do
82
- read('POLYGON ((1 1, 10 10, 10 10, 1 1))').
83
- snap_to_grid
82
+ read('POLYGON ((1 1, 10 10, 10 10, 1 1))').snap_to_grid
84
83
  end
85
84
  end
86
85
 
@@ -110,13 +109,13 @@ class PolygonTests < Minitest::Test
110
109
  'POLYGON ((30 10, 30 15, 25 15, 25 10, 30 10))',
111
110
  wkt,
112
111
  Math::PI / 2,
113
- [ 10.0, 20.0 ])
112
+ [10.0, 20.0])
114
113
 
115
114
  affine_tester(:rotate,
116
115
  'POLYGON ((-3 1, -3 -4, 2 -4, 2 1, -3 1))',
117
116
  wkt,
118
117
  -Math::PI / 2,
119
- [ -1.0, 2.0 ])
118
+ [-1.0, 2.0])
120
119
 
121
120
  affine_tester(:rotate,
122
121
  'POLYGON ((2 2, -3 2, -3 -3, 2 -3, 2 2))',
@@ -17,14 +17,14 @@ class PreparedGeometryTests < Minitest::Test
17
17
 
18
18
  def relationship_tester(method, *expected)
19
19
  [
20
- [ POINT_A, POINT_A ],
21
- [ POINT_A, LINESTRING_A ],
22
- [ POINT_B, LINESTRING_A ],
23
- [ LINESTRING_B, LINESTRING_A ],
24
- [ LINESTRING_C, LINESTRING_A ],
25
- [ LINESTRING_D, LINESTRING_A ],
26
- [ POLYGON_A, POLYGON_B ],
27
- [ POLYGON_A, POINT_C ]
20
+ [POINT_A, POINT_A],
21
+ [POINT_A, LINESTRING_A],
22
+ [POINT_B, LINESTRING_A],
23
+ [LINESTRING_B, LINESTRING_A],
24
+ [LINESTRING_C, LINESTRING_A],
25
+ [LINESTRING_D, LINESTRING_A],
26
+ [POLYGON_A, POLYGON_B],
27
+ [POLYGON_A, POINT_C]
28
28
  ].each_with_index do |(geom_a, geom_b), i|
29
29
  geom_a = read(geom_a).to_prepared
30
30
  geom_b = read(geom_b)
@@ -8,7 +8,7 @@ class STRtreeTests < Minitest::Test
8
8
  def setup_tree
9
9
  @tree = Geos::STRtree.new(3)
10
10
  @item_1 = { item_1: :test }
11
- @item_2 = [ :test ]
11
+ @item_2 = [:test]
12
12
  @item_3 = Object.new
13
13
 
14
14
  @geom_1 = read('LINESTRING(0 0, 10 10)')
@@ -183,9 +183,9 @@ class STRtreeTests < Minitest::Test
183
183
  skip unless ENV['FORCE_TESTS'] || defined?(Geos::STRtree)
184
184
 
185
185
  tree = Geos::STRtree.new(
186
- [ read('LINESTRING(0 0, 10 10)'), item_1 = { item_1: :test } ],
187
- [ read('LINESTRING(20 20, 30 30)'), item_2 = [ :test ] ],
188
- [ read('LINESTRING(20 20, 30 30)'), item_3 = Object.new ]
186
+ [read('LINESTRING(0 0, 10 10)'), item_1 = { item_1: :test }],
187
+ [read('LINESTRING(20 20, 30 30)'), item_2 = [:test]],
188
+ [read('LINESTRING(20 20, 30 30)'), item_3 = Object.new]
189
189
  )
190
190
 
191
191
  assert_equal([item_1],
@@ -346,7 +346,7 @@ class STRtreeTests < Minitest::Test
346
346
  geom_4 = read('POINT (3 8)')
347
347
 
348
348
  item_1 = { item_1: :test }
349
- item_2 = [ :test ]
349
+ item_2 = [:test]
350
350
  item_3 = Object.new
351
351
 
352
352
  tree = Geos::STRtree.new(2)
@@ -1,19 +1,17 @@
1
- # encoding: BINARY; frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
- if RUBY_VERSION >= '1.9'
4
- require 'simplecov'
3
+ require 'simplecov'
5
4
 
6
- SimpleCov.command_name('Unit Tests')
7
- SimpleCov.merge_timeout(3600)
8
- SimpleCov.start do
9
- add_filter '/test/'
10
- add_filter '/.bundle/'
11
- end
5
+ SimpleCov.command_name('Unit Tests')
6
+ SimpleCov.merge_timeout(3600)
7
+ SimpleCov.start do
8
+ add_filter '/test/'
9
+ add_filter '/.bundle/'
12
10
  end
13
11
 
14
12
  require 'rubygems'
15
13
  require 'minitest/autorun'
16
- require 'minitest/reporters' if RUBY_VERSION >= '1.9'
14
+ require 'minitest/reporters'
17
15
 
18
16
  if ENV['USE_BINARY_GEOS']
19
17
  require 'geos'
@@ -36,6 +34,12 @@ puts "Using #{Geos::FFIGeos.geos_library_path}" if defined?(Geos::FFIGeos)
36
34
  module TestHelper
37
35
  TOLERANCE = 0.0000000000001
38
36
 
37
+ EMPTY_GEOMETRY = if Geos::GEOS_VERSION > '3.8'
38
+ 'POINT EMPTY'
39
+ else
40
+ 'GEOMETRYCOLLECTION EMPTY'
41
+ end
42
+
39
43
  def self.included(base)
40
44
  base.class_eval do
41
45
  attr_reader :reader, :reader_hex, :writer
@@ -145,11 +149,11 @@ module TestHelper
145
149
 
146
150
  case result
147
151
  when Geos::Geometry
148
- result = [ write(result) ]
152
+ result = [write(result)]
149
153
  when Array
150
- result = result.collect { |r|
154
+ result = result.collect do |r|
151
155
  write(r)
152
- }
156
+ end
153
157
  end
154
158
 
155
159
  assert_equal(expected, result)
@@ -164,30 +168,11 @@ module TestHelper
164
168
  assert_equal(expected, write(geom))
165
169
 
166
170
  geom = read(wkt)
167
- geom2 = geom.send(method, *args).snap_to_grid(0.1)
171
+ geom_2 = geom.send(method, *args).snap_to_grid(0.1)
168
172
 
169
173
  assert_equal(wkt, write(geom))
170
- assert_equal(expected, write(geom2, :trim => true))
171
- end
172
- end
173
-
174
- if RUBY_VERSION >= '1.9'
175
- Minitest::Reporters.use!(Minitest::Reporters::SpecReporter.new)
176
- end
177
-
178
- if !Fixnum.method_defined?(:negative?)
179
- class Fixnum
180
- def negative?
181
- self < 0
182
- end
183
- end
184
- end
185
-
186
- if !Fixnum.method_defined?(:positive?)
187
- class Fixnum
188
- def positive?
189
- self > 0
190
- end
174
+ assert_equal(expected, write(geom_2, trim: true))
191
175
  end
192
176
  end
193
177
 
178
+ Minitest::Reporters.use!(Minitest::Reporters::SpecReporter.new)
@@ -22,8 +22,8 @@ class UtilsTests < Minitest::Test
22
22
  assert_equal(1, Geos::Utils.orientation_index(0, 0, 10, 10, 5, 20))
23
23
  assert_equal(-1, Geos::Utils.orientation_index(0, 0, 10, 10, 5, 3))
24
24
  assert_equal(-1, Geos::Utils.orientation_index(0, 0, 10, 10, 5, -2))
25
- assert_equal(1, Geos::Utils.orientation_index(0, 0, 10, 10, 1000000, 1000001))
26
- assert_equal(-1, Geos::Utils.orientation_index(0, 0, 10, 10, 1000000, 999999))
25
+ assert_equal(1, Geos::Utils.orientation_index(0, 0, 10, 10, 1_000_000, 1_000_001))
26
+ assert_equal(-1, Geos::Utils.orientation_index(0, 0, 10, 10, 1_000_000, 999_999))
27
27
  end
28
28
 
29
29
  def test_relate_match
@@ -48,7 +48,7 @@ class UtilsTests < Minitest::Test
48
48
  end
49
49
 
50
50
  def test_create_point
51
- cs = Geos::CoordinateSequence.new([[ 10, 20 ]])
51
+ cs = Geos::CoordinateSequence.new([[10, 20]])
52
52
  create_method_tester('POINT (10 20)', :create_point, cs, Geos::GEOS_POINT, Geos::Point)
53
53
  end
54
54
 
@@ -75,8 +75,8 @@ class UtilsTests < Minitest::Test
75
75
 
76
76
  def test_create_line_string
77
77
  cs = Geos::CoordinateSequence.new([
78
- [ 10, 20, 30 ],
79
- [ 30, 20, 10 ]
78
+ [10, 20, 30],
79
+ [30, 20, 10]
80
80
  ])
81
81
 
82
82
  writer.output_dimensions = 3
@@ -103,7 +103,7 @@ class UtilsTests < Minitest::Test
103
103
  create_method_tester(
104
104
  'LINESTRING Z (10 20 30, 30 20 10)',
105
105
  :create_line_string,
106
- [[ 10, 20, 30 ], [ 30, 20, 10 ]],
106
+ [[10, 20, 30], [30, 20, 10]],
107
107
  Geos::GEOS_LINESTRING,
108
108
  Geos::LineString
109
109
  ) do |geom|
@@ -125,10 +125,10 @@ class UtilsTests < Minitest::Test
125
125
 
126
126
  def test_create_linear_ring
127
127
  cs = Geos::CoordinateSequence.new([
128
- [ 7, 8, 9 ],
129
- [ 3, 3, 3 ],
130
- [ 11, 15.2, 2 ],
131
- [ 7, 8, 9 ]
128
+ [7, 8, 9],
129
+ [3, 3, 3],
130
+ [11, 15.2, 2],
131
+ [7, 8, 9]
132
132
  ])
133
133
 
134
134
  writer.output_dimensions = 3
@@ -155,7 +155,7 @@ class UtilsTests < Minitest::Test
155
155
  create_method_tester(
156
156
  'LINEARRING Z (7 8 9, 3 3 3, 11 15.2 2, 7 8 9)',
157
157
  :create_linear_ring,
158
- [[ 7, 8, 9 ], [ 3, 3, 3 ], [ 11, 15.2, 2 ], [ 7, 8, 9 ]],
158
+ [[7, 8, 9], [3, 3, 3], [11, 15.2, 2], [7, 8, 9]],
159
159
  Geos::GEOS_LINEARRING,
160
160
  Geos::LinearRing
161
161
  ) do |geom|
@@ -178,11 +178,11 @@ class UtilsTests < Minitest::Test
178
178
 
179
179
  def test_create_polygon
180
180
  cs = Geos::CoordinateSequence.new([
181
- [ 0, 0 ],
182
- [ 0, 10 ],
183
- [ 10, 10 ],
184
- [ 10, 0 ],
185
- [ 0, 0 ]
181
+ [0, 0],
182
+ [0, 10],
183
+ [10, 10],
184
+ [10, 0],
185
+ [0, 0]
186
186
  ])
187
187
 
188
188
  exterior_ring = Geos.create_linear_ring(cs)
@@ -196,19 +196,19 @@ class UtilsTests < Minitest::Test
196
196
 
197
197
  def test_create_polygon_with_coordinate_sequences
198
198
  outer = Geos::CoordinateSequence.new(
199
- [ 0, 0 ],
200
- [ 0, 10 ],
201
- [ 10, 10 ],
202
- [ 10, 0 ],
203
- [ 0, 0 ]
199
+ [0, 0],
200
+ [0, 10],
201
+ [10, 10],
202
+ [10, 0],
203
+ [0, 0]
204
204
  )
205
205
 
206
206
  inner = Geos::CoordinateSequence.new(
207
- [ 2, 2 ],
208
- [ 2, 4 ],
209
- [ 4, 4 ],
210
- [ 4, 2 ],
211
- [ 2, 2 ]
207
+ [2, 2],
208
+ [2, 4],
209
+ [4, 4],
210
+ [4, 2],
211
+ [2, 2]
212
212
  )
213
213
 
214
214
  geom = Geos.create_polygon(outer, inner)
@@ -220,30 +220,30 @@ class UtilsTests < Minitest::Test
220
220
 
221
221
  def test_create_polygon_with_holes
222
222
  exterior_ring = Geos::CoordinateSequence.new(
223
- [ 0, 0 ],
224
- [ 0, 10 ],
225
- [ 10, 10 ],
226
- [ 10, 0 ],
227
- [ 0, 0 ]
223
+ [0, 0],
224
+ [0, 10],
225
+ [10, 10],
226
+ [10, 0],
227
+ [0, 0]
228
228
  )
229
229
 
230
230
  hole_1 = Geos::CoordinateSequence.new(
231
- [ 2, 2 ],
232
- [ 2, 4 ],
233
- [ 4, 4 ],
234
- [ 4, 2 ],
235
- [ 2, 2 ]
231
+ [2, 2],
232
+ [2, 4],
233
+ [4, 4],
234
+ [4, 2],
235
+ [2, 2]
236
236
  )
237
237
 
238
238
  hole_2 = Geos::CoordinateSequence.new(
239
- [ 6, 6 ],
240
- [ 6, 8 ],
241
- [ 8, 8 ],
242
- [ 8, 6 ],
243
- [ 6, 6 ]
239
+ [6, 6],
240
+ [6, 8],
241
+ [8, 8],
242
+ [8, 6],
243
+ [6, 6]
244
244
  )
245
245
 
246
- geom = Geos.create_polygon(exterior_ring, [ hole_1, hole_2 ])
246
+ geom = Geos.create_polygon(exterior_ring, [hole_1, hole_2])
247
247
  assert_instance_of(Geos::Polygon, geom)
248
248
  assert_equal('Polygon', geom.geom_type)
249
249
  assert_equal(Geos::GEOS_POLYGON, geom.type_id)
@@ -261,10 +261,13 @@ class UtilsTests < Minitest::Test
261
261
  skip unless ENV['FORCE_TESTS'] || Geos.respond_to?(:create_multi_point)
262
262
 
263
263
  assert_equal('MULTIPOINT EMPTY', write(Geos.create_multi_point))
264
- assert_equal('MULTIPOINT (0 0, 10 10)', write(Geos.create_multi_point(
265
- read('POINT(0 0)'),
266
- read('POINT(10 10)')
267
- )))
264
+ assert_equal('MULTIPOINT (0 0, 10 10)',
265
+ write(
266
+ Geos.create_multi_point(
267
+ read('POINT(0 0)'),
268
+ read('POINT(10 10)')
269
+ )
270
+ ))
268
271
  end
269
272
 
270
273
  def test_create_bad_multi_point
@@ -282,10 +285,13 @@ class UtilsTests < Minitest::Test
282
285
  skip unless ENV['FORCE_TESTS'] || Geos.respond_to?(:create_multi_line_string)
283
286
 
284
287
  assert_equal('MULTILINESTRING EMPTY', write(Geos.create_multi_line_string))
285
- assert_equal('MULTILINESTRING ((0 0, 10 10), (10 10, 20 20))', write(Geos.create_multi_line_string(
286
- read('LINESTRING(0 0, 10 10)'),
287
- read('LINESTRING(10 10, 20 20)')
288
- )))
288
+ assert_equal('MULTILINESTRING ((0 0, 10 10), (10 10, 20 20))',
289
+ write(
290
+ Geos.create_multi_line_string(
291
+ read('LINESTRING(0 0, 10 10)'),
292
+ read('LINESTRING(10 10, 20 20)')
293
+ )
294
+ ))
289
295
  end
290
296
 
291
297
  def test_create_bad_multi_line_string
@@ -303,10 +309,13 @@ class UtilsTests < Minitest::Test
303
309
  skip unless ENV['FORCE_TESTS'] || Geos.respond_to?(:create_multi_polygon)
304
310
 
305
311
  assert_equal('MULTIPOLYGON EMPTY', write(Geos.create_multi_polygon))
306
- assert_equal('MULTIPOLYGON (((0 0, 0 5, 5 5, 5 0, 0 0)), ((10 10, 10 15, 15 15, 15 10, 10 10)))', write(Geos.create_multi_polygon(
307
- read('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'),
308
- read('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')
309
- )))
312
+ assert_equal('MULTIPOLYGON (((0 0, 0 5, 5 5, 5 0, 0 0)), ((10 10, 10 15, 15 15, 15 10, 10 10)))',
313
+ write(
314
+ Geos.create_multi_polygon(
315
+ read('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'),
316
+ read('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')
317
+ )
318
+ ))
310
319
  end
311
320
 
312
321
  def test_create_bad_multi_polygon
@@ -325,11 +334,12 @@ class UtilsTests < Minitest::Test
325
334
 
326
335
  assert_equal('GEOMETRYCOLLECTION EMPTY', write(Geos.create_geometry_collection))
327
336
  assert_equal('GEOMETRYCOLLECTION (POLYGON ((0 0, 0 5, 5 5, 5 0, 0 0)), POLYGON ((10 10, 10 15, 15 15, 15 10, 10 10)))',
328
- write(Geos.create_geometry_collection(
329
- read('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'),
330
- read('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')
337
+ write(
338
+ Geos.create_geometry_collection(
339
+ read('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'),
340
+ read('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')
341
+ )
331
342
  ))
332
- )
333
343
  end
334
344
 
335
345
  def test_create_geometry_collection_with_constants_and_symbols
@@ -339,7 +349,6 @@ class UtilsTests < Minitest::Test
339
349
  assert_kind_of(Geos::MultiLineString, Geos.create_collection(:multi_line_string))
340
350
  end
341
351
 
342
-
343
352
  def test_create_bad_geometry_collection
344
353
  skip unless ENV['FORCE_TESTS'] || Geos.respond_to?(:create_geometry_collection)
345
354
 
@@ -440,6 +449,7 @@ class UtilsTests < Minitest::Test
440
449
  [5, 5],
441
450
  [0, 5]
442
451
  ])
452
+
443
453
  Geos.create_linear_ring(cs)
444
454
  GC.start
445
455
  end