ffi-geos 0.5.0 → 1.0.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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/README.rdoc +14 -100
- data/lib/ffi-geos.rb +18 -3
- data/lib/ffi-geos/coordinate_sequence.rb +2 -2
- data/lib/ffi-geos/geometry.rb +7 -1
- data/lib/ffi-geos/interrupt.rb +7 -7
- data/lib/ffi-geos/line_string.rb +16 -1
- data/lib/ffi-geos/point.rb +1 -1
- data/lib/ffi-geos/polygon.rb +1 -1
- data/lib/ffi-geos/strtree.rb +7 -1
- data/lib/ffi-geos/tools.rb +31 -5
- data/lib/ffi-geos/utils.rb +6 -18
- data/lib/ffi-geos/version.rb +1 -1
- data/lib/ffi-geos/wkb_reader.rb +7 -0
- data/lib/ffi-geos/wkb_writer.rb +1 -1
- data/lib/ffi-geos/wkt_reader.rb +5 -0
- data/lib/ffi-geos/wkt_writer.rb +2 -2
- data/test/coordinate_sequence_tests.rb +23 -23
- data/test/geometry_collection_tests.rb +6 -1
- data/test/geometry_tests.rb +356 -554
- data/test/interrupt_tests.rb +1 -1
- data/test/line_string_tests.rb +65 -37
- data/test/linear_ring_tests.rb +10 -3
- data/test/misc_tests.rb +1 -1
- data/test/point_tests.rb +6 -1
- data/test/polygon_tests.rb +2 -2
- data/test/prepared_geometry_tests.rb +1 -1
- data/test/strtree_tests.rb +2 -2
- data/test/test_helper.rb +56 -3
- data/test/tools_tests.rb +2 -2
- data/test/utils_tests.rb +35 -43
- data/test/wkb_reader_tests.rb +13 -1
- data/test/wkb_writer_tests.rb +29 -3
- data/test/wkt_reader_tests.rb +2 -2
- data/test/wkt_writer_tests.rb +4 -4
- metadata +2 -2
data/test/wkb_reader_tests.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
$: << File.dirname(__FILE__)
|
4
4
|
require 'test_helper'
|
5
5
|
|
6
|
-
class WkbReaderTests <
|
6
|
+
class WkbReaderTests < Minitest::Test
|
7
7
|
include TestHelper
|
8
8
|
|
9
9
|
def setup
|
@@ -206,4 +206,16 @@ class WkbReaderTests < MiniTest::Unit::TestCase
|
|
206
206
|
:srid => 4326
|
207
207
|
}).srid)
|
208
208
|
end
|
209
|
+
|
210
|
+
def test_read_parse_error
|
211
|
+
assert_raises(Geos::WkbReader::ParseError) do
|
212
|
+
@wkb_reader.read("FOO")
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
def test_read_hex_parse_error
|
217
|
+
assert_raises(Geos::WkbReader::ParseError) do
|
218
|
+
@wkb_reader.read_hex("FOO")
|
219
|
+
end
|
220
|
+
end
|
209
221
|
end
|
data/test/wkb_writer_tests.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
$: << File.dirname(__FILE__)
|
4
4
|
require 'test_helper'
|
5
5
|
|
6
|
-
class WkbWriterTests <
|
6
|
+
class WkbWriterTests < Minitest::Test
|
7
7
|
include TestHelper
|
8
8
|
|
9
9
|
def setup
|
@@ -432,6 +432,32 @@ class WkbWriterTests < MiniTest::Unit::TestCase
|
|
432
432
|
geom = read('POINT(1 2 3)')
|
433
433
|
geom.srid = 4326
|
434
434
|
|
435
|
+
tester = lambda { |expected, *args|
|
436
|
+
expected.force_encoding('BINARY') if expected.respond_to?(:force_encoding)
|
437
|
+
|
438
|
+
assert_equal(
|
439
|
+
expected,
|
440
|
+
@wkb_writer.write(geom, *args)
|
441
|
+
)
|
442
|
+
}
|
443
|
+
|
444
|
+
tester[
|
445
|
+
"\x01\x01\x00\x00\x20\xE6\x10\x00\x00\x00\x00\x00\x00\x00\x00\xF0\x3F\x00\x00\x00\x00\x00\x00\x00\x40", {
|
446
|
+
:include_srid => true
|
447
|
+
}
|
448
|
+
]
|
449
|
+
|
450
|
+
tester[
|
451
|
+
"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF0\x3F\x00\x00\x00\x00\x00\x00\x00\x40"
|
452
|
+
]
|
453
|
+
end
|
454
|
+
|
455
|
+
def test_write_hex_with_options
|
456
|
+
skip unless ENV['FORCE_TESTS'] || defined?(Geos::FFIGeos)
|
457
|
+
|
458
|
+
geom = read('POINT(1 2 3)')
|
459
|
+
geom.srid = 4326
|
460
|
+
|
435
461
|
assert_equal('0101000020E6100000000000000000F03F0000000000000040', @wkb_writer.write_hex(geom, {
|
436
462
|
:include_srid => true
|
437
463
|
}))
|
@@ -440,11 +466,11 @@ class WkbWriterTests < MiniTest::Unit::TestCase
|
|
440
466
|
end
|
441
467
|
|
442
468
|
def test_illegal_output_dimensions
|
443
|
-
assert_raises(
|
469
|
+
assert_raises(ArgumentError) do
|
444
470
|
@wkb_writer.output_dimensions = 10
|
445
471
|
end
|
446
472
|
|
447
|
-
assert_raises(
|
473
|
+
assert_raises(ArgumentError) do
|
448
474
|
@wkb_writer.output_dimensions = 0
|
449
475
|
end
|
450
476
|
end
|
data/test/wkt_reader_tests.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
$: << File.dirname(__FILE__)
|
4
4
|
require 'test_helper'
|
5
5
|
|
6
|
-
class WktReaderTests <
|
6
|
+
class WktReaderTests < Minitest::Test
|
7
7
|
include TestHelper
|
8
8
|
|
9
9
|
def wkt_tester(type_id, geom_type, klass, *geoms)
|
@@ -114,7 +114,7 @@ class WktReaderTests < MiniTest::Unit::TestCase
|
|
114
114
|
end
|
115
115
|
|
116
116
|
def test_read_exception
|
117
|
-
assert_raises(
|
117
|
+
assert_raises(Geos::WktReader::ParseError) do
|
118
118
|
read('gibberish')
|
119
119
|
end
|
120
120
|
end
|
data/test/wkt_writer_tests.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
$: << File.dirname(__FILE__)
|
4
4
|
require 'test_helper'
|
5
5
|
|
6
|
-
class WktWriterTests <
|
6
|
+
class WktWriterTests < Minitest::Test
|
7
7
|
include TestHelper
|
8
8
|
|
9
9
|
def test_write_point
|
@@ -73,7 +73,7 @@ class WktWriterTests < MiniTest::Unit::TestCase
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def test_rounding_precision_too_high
|
76
|
-
assert_raises(
|
76
|
+
assert_raises(ArgumentError) do
|
77
77
|
@writer.rounding_precision = 1000
|
78
78
|
end
|
79
79
|
end
|
@@ -101,12 +101,12 @@ class WktWriterTests < MiniTest::Unit::TestCase
|
|
101
101
|
assert_equal('POINT (3 2)', write(geom_2d))
|
102
102
|
|
103
103
|
# 1 is invalid
|
104
|
-
assert_raises(
|
104
|
+
assert_raises(ArgumentError) do
|
105
105
|
writer.output_dimensions = 1
|
106
106
|
end
|
107
107
|
|
108
108
|
# 4 is invalid
|
109
|
-
assert_raises(
|
109
|
+
assert_raises(ArgumentError) do
|
110
110
|
writer.output_dimensions = 4
|
111
111
|
end
|
112
112
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-geos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- J Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|