ffi-geos 0.5.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|