Use old_node factory for OldNode model tests.
The valid/invalid tests were simplified, since there is little to be gained from inserting (invalid) nodes into the database and comparing the node with another copy of itself.
This commit is contained in:
parent
6b6d922239
commit
2d3ca85751
1 changed files with 55 additions and 76 deletions
|
@ -1,93 +1,68 @@
|
||||||
require "test_helper"
|
require "test_helper"
|
||||||
|
|
||||||
class OldNodeTest < ActiveSupport::TestCase
|
class OldNodeTest < ActiveSupport::TestCase
|
||||||
api_fixtures
|
|
||||||
|
|
||||||
def test_node_count
|
|
||||||
assert_equal 23, OldNode.count
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_node_too_far_north
|
def test_node_too_far_north
|
||||||
invalid_node_test(:node_too_far_north)
|
node = build(:old_node, :latitude => 90.01 * OldNode::SCALE)
|
||||||
|
assert_equal false, node.valid?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_node_north_limit
|
def test_node_north_limit
|
||||||
valid_node_test(:node_north_limit)
|
node = build(:old_node, :latitude => 90 * OldNode::SCALE)
|
||||||
end
|
|
||||||
|
|
||||||
def test_node_too_far_south
|
|
||||||
invalid_node_test(:node_too_far_south)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_node_south_limit
|
|
||||||
valid_node_test(:node_south_limit)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_node_too_far_west
|
|
||||||
invalid_node_test(:node_too_far_west)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_node_west_limit
|
|
||||||
valid_node_test(:node_west_limit)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_node_too_far_east
|
|
||||||
invalid_node_test(:node_too_far_east)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_node_east_limit
|
|
||||||
valid_node_test(:node_east_limit)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_totally_wrong
|
|
||||||
invalid_node_test(:node_totally_wrong)
|
|
||||||
end
|
|
||||||
|
|
||||||
# This helper method will check to make sure that a node is within the world, and
|
|
||||||
# has the the same lat, lon and timestamp than what was put into the db by
|
|
||||||
# the fixture
|
|
||||||
def valid_node_test(nod)
|
|
||||||
node = nodes(nod)
|
|
||||||
dbnode = Node.find(node.node_id)
|
|
||||||
assert_equal dbnode.lat, node.latitude.to_f / OldNode::SCALE
|
|
||||||
assert_equal dbnode.lon, node.longitude.to_f / OldNode::SCALE
|
|
||||||
assert_equal dbnode.changeset_id, node.changeset_id
|
|
||||||
assert_equal dbnode.version, node.version
|
|
||||||
assert_equal dbnode.visible, node.visible
|
|
||||||
assert_equal dbnode.timestamp, node.timestamp
|
|
||||||
# assert_equal node.tile, QuadTile.tile_for_point(nodes(nod).lat, nodes(nod).lon)
|
|
||||||
assert node.valid?
|
assert node.valid?
|
||||||
end
|
end
|
||||||
|
|
||||||
# This helpermethod will check to make sure that a node is outwith the world,
|
def test_node_too_far_south
|
||||||
# and has the same lat, lon and timesamp than what was put into the db by the
|
node = build(:old_node, :latitude => -90.01 * OldNode::SCALE)
|
||||||
# fixture
|
assert_equal false, node.valid?
|
||||||
def invalid_node_test(nod)
|
end
|
||||||
node = nodes(nod)
|
|
||||||
dbnode = Node.find(node.node_id)
|
def test_node_south_limit
|
||||||
assert_equal dbnode.lat, node.latitude.to_f / OldNode::SCALE
|
node = build(:old_node, :latitude => -90 * OldNode::SCALE)
|
||||||
assert_equal dbnode.lon, node.longitude.to_f / OldNode::SCALE
|
assert node.valid?
|
||||||
assert_equal dbnode.changeset_id, node.changeset_id
|
end
|
||||||
assert_equal dbnode.version, node.version
|
|
||||||
assert_equal dbnode.visible, node.visible
|
def test_node_too_far_west
|
||||||
assert_equal dbnode.timestamp, node.timestamp
|
node = build(:old_node, :longitude => -180.01 * OldNode::SCALE)
|
||||||
# assert_equal node.tile, QuadTile.tile_for_point(nodes(nod).lat, nodes(nod).lon)
|
assert_equal false, node.valid?
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_node_west_limit
|
||||||
|
node = build(:old_node, :longitude => -180 * OldNode::SCALE)
|
||||||
|
assert node.valid?
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_node_too_far_east
|
||||||
|
node = build(:old_node, :longitude => 180.01 * OldNode::SCALE)
|
||||||
|
assert_equal false, node.valid?
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_node_east_limit
|
||||||
|
node = build(:old_node, :longitude => 180 * OldNode::SCALE)
|
||||||
|
assert node.valid?
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_totally_wrong
|
||||||
|
node = build(:old_node, :latitude => 200 * OldNode::SCALE, :longitude => 200 * OldNode::SCALE)
|
||||||
assert_equal false, node.valid?
|
assert_equal false, node.valid?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_node_tags
|
def test_node_tags
|
||||||
taglist_v3 = create_list(:old_node_tag, 3, :old_node => nodes(:node_with_versions_v3))
|
node_v1 = create(:old_node, :version => 1)
|
||||||
taglist_v4 = create_list(:old_node_tag, 2, :old_node => nodes(:node_with_versions_v4))
|
node_v2 = create(:old_node, :node_id => node_v1.node_id, :version => 2)
|
||||||
|
node_v3 = create(:old_node, :node_id => node_v1.node_id, :version => 3)
|
||||||
|
node_v4 = create(:old_node, :node_id => node_v1.node_id, :version => 4)
|
||||||
|
taglist_v3 = create_list(:old_node_tag, 3, :old_node => node_v3)
|
||||||
|
taglist_v4 = create_list(:old_node_tag, 2, :old_node => node_v4)
|
||||||
|
|
||||||
node = nodes(:node_with_versions_v1)
|
node = node_v1
|
||||||
tags = OldNode.find(node.id).old_tags.order(:k)
|
tags = OldNode.find(node.id).old_tags.order(:k)
|
||||||
assert_equal 0, tags.count
|
assert_equal 0, tags.count
|
||||||
|
|
||||||
node = nodes(:node_with_versions_v2)
|
node = node_v2
|
||||||
tags = OldNode.find(node.id).old_tags.order(:k)
|
tags = OldNode.find(node.id).old_tags.order(:k)
|
||||||
assert_equal 0, tags.count
|
assert_equal 0, tags.count
|
||||||
|
|
||||||
node = nodes(:node_with_versions_v3)
|
node = node_v3
|
||||||
tags = OldNode.find(node.id).old_tags.order(:k)
|
tags = OldNode.find(node.id).old_tags.order(:k)
|
||||||
assert_equal taglist_v3.count, tags.count
|
assert_equal taglist_v3.count, tags.count
|
||||||
taglist_v3.sort_by!(&:k).each_index do |i|
|
taglist_v3.sort_by!(&:k).each_index do |i|
|
||||||
|
@ -95,7 +70,7 @@ class OldNodeTest < ActiveSupport::TestCase
|
||||||
assert_equal taglist_v3[i].v, tags[i].v
|
assert_equal taglist_v3[i].v, tags[i].v
|
||||||
end
|
end
|
||||||
|
|
||||||
node = nodes(:node_with_versions_v4)
|
node = node_v4
|
||||||
tags = OldNode.find(node.id).old_tags.order(:k)
|
tags = OldNode.find(node.id).old_tags.order(:k)
|
||||||
assert_equal taglist_v4.count, tags.count
|
assert_equal taglist_v4.count, tags.count
|
||||||
taglist_v4.sort_by!(&:k).each_index do |i|
|
taglist_v4.sort_by!(&:k).each_index do |i|
|
||||||
|
@ -105,25 +80,29 @@ class OldNodeTest < ActiveSupport::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_tags
|
def test_tags
|
||||||
taglist_v3 = create_list(:old_node_tag, 3, :old_node => nodes(:node_with_versions_v3))
|
node_v1 = create(:old_node, :version => 1)
|
||||||
taglist_v4 = create_list(:old_node_tag, 2, :old_node => nodes(:node_with_versions_v4))
|
node_v2 = create(:old_node, :node_id => node_v1.node_id, :version => 2)
|
||||||
|
node_v3 = create(:old_node, :node_id => node_v1.node_id, :version => 3)
|
||||||
|
node_v4 = create(:old_node, :node_id => node_v1.node_id, :version => 4)
|
||||||
|
taglist_v3 = create_list(:old_node_tag, 3, :old_node => node_v3)
|
||||||
|
taglist_v4 = create_list(:old_node_tag, 2, :old_node => node_v4)
|
||||||
|
|
||||||
node = nodes(:node_with_versions_v1)
|
node = node_v1
|
||||||
tags = OldNode.find(node.id).tags
|
tags = OldNode.find(node.id).tags
|
||||||
assert_equal 0, tags.size
|
assert_equal 0, tags.size
|
||||||
|
|
||||||
node = nodes(:node_with_versions_v2)
|
node = node_v2
|
||||||
tags = OldNode.find(node.id).tags
|
tags = OldNode.find(node.id).tags
|
||||||
assert_equal 0, tags.size
|
assert_equal 0, tags.size
|
||||||
|
|
||||||
node = nodes(:node_with_versions_v3)
|
node = node_v3
|
||||||
tags = OldNode.find(node.id).tags
|
tags = OldNode.find(node.id).tags
|
||||||
assert_equal taglist_v3.count, tags.count
|
assert_equal taglist_v3.count, tags.count
|
||||||
taglist_v3.each do |tag|
|
taglist_v3.each do |tag|
|
||||||
assert_equal tag.v, tags[tag.k]
|
assert_equal tag.v, tags[tag.k]
|
||||||
end
|
end
|
||||||
|
|
||||||
node = nodes(:node_with_versions_v4)
|
node = node_v4
|
||||||
tags = OldNode.find(node.id).tags
|
tags = OldNode.find(node.id).tags
|
||||||
assert_equal taglist_v4.count, tags.count
|
assert_equal taglist_v4.count, tags.count
|
||||||
taglist_v4.each do |tag|
|
taglist_v4.each do |tag|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue