~sharpie/geos/3.3.2

« back to all changes in this revision

Viewing changes to swig/ruby/test/test_io.rb

  • Committer: Bazaar Package Importer
  • Author(s): Fabio Tranchitella
  • Date: 2006-11-06 21:35:52 UTC
  • mfrom: (3.1.3 feisty)
  • Revision ID: james.westby@ubuntu.com-20061106213552-m03o92ggj1na737b
Tags: 2.2.3-3
debian/control: move doxygen from build-depends-indep to build-depends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env ruby
 
2
 
 
3
require 'test/unit'
 
4
require 'geos'
 
5
require 'test_helper'
 
6
 
 
7
class TestGeosIO < Test::Unit::TestCase
 
8
  def setup
 
9
    @test_helper = GeosTestHelper.new()
 
10
  end
 
11
 
 
12
  def run_test(message, &block)
 
13
    # This function tests writing and reading geometries to
 
14
    # the well-known binary hex format
 
15
    geoms = @test_helper.create_geoms()
 
16
 
 
17
    STDOUT << "\n" << "-------- #{message} ----------" << "\n"
 
18
    geoms.each do |geom_in|
 
19
      geom_out = yield(geom_in)
 
20
 
 
21
      begin
 
22
        ## Geometries should be equal
 
23
        assert(geom_out.equals(geom_in),
 
24
               "Geom In: #{geom_in}\nGeom Out: #{geom_out}")
 
25
      rescue Geos::IllegalArgumentException => error
 
26
        # this is ok
 
27
      end
 
28
 
 
29
      ## Check precision model
 
30
      geom_in.normalize()
 
31
      geom_out.normalize()
 
32
 
 
33
      ## This seems to always fail
 
34
     # assert_equal(0, geom_in.compare_to(geom_out))
 
35
    end
 
36
  end
 
37
  
 
38
  def test_wkb_hex()
 
39
    wkb_writer = Geos::WKBWriter.new()
 
40
    wkb_reader = Geos::WKBReader.new(@test_helper.geom_factory)
 
41
 
 
42
    self.run_test("TESTING WKB HEX IO") do |geom_in|
 
43
      value = wkb_writer.write_hex(geom_in)
 
44
      geom_out = wkb_reader.read_hex(value)
 
45
    end     
 
46
  end
 
47
  
 
48
  def test_wkb()
 
49
    wkb_writer = Geos::WKBWriter.new()
 
50
    wkb_reader = Geos::WKBReader.new(@test_helper.geom_factory)
 
51
 
 
52
    self.run_test("TESTING WKB IO") do |geom_in|
 
53
      value = wkb_writer.write(geom_in)
 
54
      geom_out = wkb_reader.read(value)
 
55
    end     
 
56
  end
 
57
  
 
58
  def test_wkt()
 
59
    wkt_writer = Geos::WKTWriter.new()
 
60
    wkt_reader = Geos::WKTReader.new(@test_helper.geom_factory)
 
61
 
 
62
    self.run_test("TESTING WKT IO") do |geom_in|
 
63
      value = wkt_writer.write(geom_in)
 
64
      geom_out = wkt_reader.read(value)
 
65
    end     
 
66
  end
 
67
end
 
 
b'\\ No newline at end of file'