ffi-geos 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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