Add tests for node methods on way models

This commit is contained in:
Tom Hughes 2013-12-04 21:44:39 +00:00
parent 9e8cf3ea71
commit cd81a3f605
7 changed files with 122 additions and 3 deletions

View file

@ -27,3 +27,18 @@ w5_n2:
way_id: 5
node_id: 4
sequence_id: 2
w7_n1:
way_id: 7
node_id: 4
sequence_id: 1
w7_n2:
way_id: 7
node_id: 15
sequence_id: 2
w7_n3:
way_id: 7
node_id: 6
sequence_id: 3

View file

@ -39,3 +39,10 @@ way_with_redacted_versions:
timestamp: 2008-01-01 00:04:13
visible: true
version: 4
way_with_multiple_nodes:
id: 7
changeset_id: 4
timestamp: 2008-01-01 00:00:00
visible: true
version: 2

View file

@ -130,6 +130,32 @@ w6_v4_n3:
sequence_id: 3
version: 4
w7_v1_n1:
way_id: 7
node_id: 2
sequence_id: 1
version: 1
w7_v1_n2:
way_id: 7
node_id: 6
sequence_id: 2
version: 1
w7_v2_n1:
way_id: 7
node_id: 4
sequence_id: 1
version: 2
w7_v2_n2:
way_id: 7
node_id: 15
sequence_id: 2
version: 2
w7_v2_n3:
way_id: 7
node_id: 6
sequence_id: 3
version: 2

View file

@ -83,3 +83,17 @@ way_with_redacted_versions_v4:
timestamp: 2008-01-01 00:04:13
visible: true
version: 4
way_with_multiple_nodes_v1:
way_id: 7
changeset_id: 2
timestamp: 2007-01-01 00:00:00
visible: true
version: 1
way_with_multiple_nodes_v2:
way_id: 7
changeset_id: 4
timestamp: 2008-01-01 00:00:00
visible: true
version: 2

View file

@ -4,7 +4,37 @@ class OldWayTest < ActiveSupport::TestCase
api_fixtures
def test_db_count
assert_equal 12, OldWay.count
assert_equal 14, OldWay.count
end
def test_old_nodes
way = ways(:way_with_multiple_nodes_v1)
nodes = OldWay.find(way.id).old_nodes.order(:sequence_id)
assert_equal 2, nodes.count
assert_equal 2, nodes[0].node_id
assert_equal 6, nodes[1].node_id
way = ways(:way_with_multiple_nodes_v2)
nodes = OldWay.find(way.id).old_nodes.order(:sequence_id)
assert_equal 3, nodes.count
assert_equal 4, nodes[0].node_id
assert_equal 15, nodes[1].node_id
assert_equal 6, nodes[2].node_id
end
def test_nds
way = ways(:way_with_multiple_nodes_v1)
nodes = OldWay.find(way.id).nds
assert_equal 2, nodes.count
assert_equal 2, nodes[0]
assert_equal 6, nodes[1]
way = ways(:way_with_multiple_nodes_v2)
nodes = OldWay.find(way.id).nds
assert_equal 3, nodes.count
assert_equal 4, nodes[0]
assert_equal 15, nodes[1]
assert_equal 6, nodes[2]
end
def test_way_tags

View file

@ -4,6 +4,6 @@ class WayNodeTest < ActiveSupport::TestCase
api_fixtures
def test_way_nodes_count
assert_equal 6, WayNode.count
assert_equal 9, WayNode.count
end
end

View file

@ -6,7 +6,7 @@ class WayTest < ActiveSupport::TestCase
# Check that we have the correct number of currnet ways in the db
# This will need to updated whenever the current_ways.yml is updated
def test_db_count
assert_equal 6, Way.count
assert_equal 7, Way.count
end
def test_bbox
@ -136,6 +136,33 @@ class WayTest < ActiveSupport::TestCase
assert_equal "Element way/23 has duplicate tags with key dup", message_update.message
end
def test_way_nodes
way = current_ways(:way_with_multiple_nodes)
nodes = Way.find(way.id).way_nodes
assert_equal 3, nodes.count
assert_equal 4, nodes[0].node_id
assert_equal 15, nodes[1].node_id
assert_equal 6, nodes[2].node_id
end
def test_nodes
way = current_ways(:way_with_multiple_nodes)
nodes = Way.find(way.id).nodes
assert_equal 3, nodes.count
assert_equal 4, nodes[0].id
assert_equal 15, nodes[1].id
assert_equal 6, nodes[2].id
end
def test_nds
way = current_ways(:way_with_multiple_nodes)
nodes = Way.find(way.id).nds
assert_equal 3, nodes.count
assert_equal 4, nodes[0]
assert_equal 15, nodes[1]
assert_equal 6, nodes[2]
end
def test_way_tags
way = current_ways(:way_with_versions)
tags = Way.find(way.id).way_tags.order(:k)