Add tests for tag methods on object models
authorTom Hughes <tom@compton.nu>
Wed, 4 Dec 2013 18:39:07 +0000 (18:39 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 4 Dec 2013 18:39:07 +0000 (18:39 +0000)
14 files changed:
test/fixtures/current_relation_tags.yml
test/fixtures/current_way_tags.yml
test/fixtures/relation_tags.yml
test/fixtures/way_tags.yml
test/unit/node_test.rb
test/unit/old_node_test.rb
test/unit/old_relation_tag_test.rb
test/unit/old_relation_test.rb [new file with mode: 0644]
test/unit/old_way_tag_test.rb
test/unit/old_way_test.rb [new file with mode: 0644]
test/unit/relation_tag_test.rb
test/unit/relation_test.rb
test/unit/way_tag_test.rb
test/unit/way_test.rb

index 6030b985327232b0f791a675bc11d844e4658de2..ab48f8e221313a64783c95ae3a4a3c26c7fc591b 100644 (file)
@@ -32,3 +32,13 @@ mt_4:
   relation_id: 4
   k: 'tag4'
   v: 'val4'
+
+rv_t1:
+  relation_id: 8
+  k: 'testing'
+  v: 'added in relation version 3'
+
+rv_t2:
+  relation_id: 8
+  k: 'testing two'
+  v: 'modified in relation version 4'
index c2c27414d9a6423addb3bd78d9682923b670b387..386b48f7174e1bd89636a1d9c8b62e577caf4b09 100644 (file)
@@ -13,3 +13,12 @@ t3:
   k: 'test'
   v: 'yes'
 
+wv_t1:
+  way_id: 4
+  k: 'testing'
+  v: 'added in way version 3'
+
+wv_t2:
+  way_id: 4
+  k: 'testing two'
+  v: 'modified in way version 4'
index 31b329ed75c941d4cc9a6d5655ea190608981902..beccd471c7754aae80c711d9aebaa60b0398c426 100644 (file)
@@ -39,3 +39,33 @@ mt_4:
   k: 'tag4'
   v: 'val4'
   version: 1
+
+rv3_t1:
+  relation_id: 8
+  k: 'testing'
+  v: 'added in relation version 3'
+  version: 3
+
+rv3_t2:
+  relation_id: 8
+  k: 'testing two'
+  v: 'added in relation version 3'
+  version: 3
+
+rv3_t3:
+  relation_id: 8
+  k: 'testing three'
+  v: 'added in relation version 3'
+  version: 3
+
+rv4_t1:
+  relation_id: 8
+  k: 'testing'
+  v: 'added in relation version 3'
+  version: 4
+
+rv4_t2:
+  relation_id: 8
+  k: 'testing two'
+  v: 'modified in relation version 4'
+  version: 4
index 6fb77d71b547be3d684af65e29ed64aeaa691a0c..195be7e542a446c65bd91604156cdf4b6987cb5d 100644 (file)
@@ -16,6 +16,36 @@ t3:
   v: 'yes'
   version: 1
 
+wv3_t1:
+  way_id: 4
+  k: 'testing'
+  v: 'added in way version 3'
+  version: 3
+
+wv3_t2:
+  way_id: 4
+  k: 'testing two'
+  v: 'added in way version 3'
+  version: 3
+
+wv3_t3:
+  way_id: 4
+  k: 'testing three'
+  v: 'added in way version 3'
+  version: 3
+
+wv4_t1:
+  way_id: 4
+  k: 'testing'
+  v: 'added in way version 3'
+  version: 4
+
+wv4_t2:
+  way_id: 4
+  k: 'testing two'
+  v: 'modified in way version 4'
+  version: 4
+
 t6_v1:
   way_id: 6
   k: 'test'
index c62e15b29feecc21badabbc68123c9bc8ec015be..2b28b3ee632c6975960005347dc69c255c2d2a14 100644 (file)
@@ -313,4 +313,22 @@ class NodeTest < ActiveSupport::TestCase
     }
     assert_equal "Element node/23 has duplicate tags with key dup", message_update.message
   end
+
+  def test_node_tags
+    node = current_nodes(:node_with_versions)
+    tags = Node.find(node.id).node_tags.order(:k)
+    assert_equal 2, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in node version 3", tags[0].v
+    assert_equal "testing two", tags[1].k
+    assert_equal "modified in node version 4", tags[1].v
+  end
+
+  def test_tags
+    node = current_nodes(:node_with_versions)
+    tags = Node.find(node.id).tags
+    assert_equal 2, tags.size
+    assert_equal "added in node version 3", tags["testing"]
+    assert_equal "modified in node version 4", tags["testing two"]
+  end
 end
index 84ea65b68efb762c352923f95e2172d242006862..fdd61f0900ffaf815bf1dded171ff2e587a9edca 100644 (file)
@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../test_helper'
 class OldNodeTest < ActiveSupport::TestCase
   api_fixtures
   
-  def test_old_node_count
+  def test_node_count
     assert_equal 21, OldNode.count
   end
 
@@ -74,4 +74,55 @@ class OldNodeTest < ActiveSupport::TestCase
     #assert_equal node.tile, QuadTile.tile_for_point(nodes(nod).lat, nodes(nod).lon)
     assert_equal false, node.valid?
   end
+
+  def test_node_tags
+    node = nodes(:node_with_versions_v1)
+    tags = OldNode.find(node.id).old_tags.order(:k)
+    assert_equal 0, tags.count
+
+    node = nodes(:node_with_versions_v2)
+    tags = OldNode.find(node.id).old_tags.order(:k)
+    assert_equal 0, tags.count
+
+    node = nodes(:node_with_versions_v3)
+    tags = OldNode.find(node.id).old_tags.order(:k)
+    assert_equal 3, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in node version 3", tags[0].v
+    assert_equal "testing three", tags[1].k
+    assert_equal "added in node version 3", tags[1].v
+    assert_equal "testing two", tags[2].k
+    assert_equal "added in node version 3", tags[2].v
+
+    node = nodes(:node_with_versions_v4)
+    tags = OldNode.find(node.id).old_tags.order(:k)
+    assert_equal 2, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in node version 3", tags[0].v
+    assert_equal "testing two", tags[1].k
+    assert_equal "modified in node version 4", tags[1].v
+  end
+
+  def test_tags
+    node = nodes(:node_with_versions_v1)
+    tags = OldNode.find(node.id).tags
+    assert_equal 0, tags.size
+
+    node = nodes(:node_with_versions_v2)
+    tags = OldNode.find(node.id).tags
+    assert_equal 0, tags.size
+
+    node = nodes(:node_with_versions_v3)
+    tags = OldNode.find(node.id).tags
+    assert_equal 3, tags.size
+    assert_equal "added in node version 3", tags["testing"]
+    assert_equal "added in node version 3", tags["testing two"]
+    assert_equal "added in node version 3", tags["testing three"]
+
+    node = nodes(:node_with_versions_v4)
+    tags = OldNode.find(node.id).tags
+    assert_equal 2, tags.size
+    assert_equal "added in node version 3", tags["testing"]
+    assert_equal "modified in node version 4", tags["testing two"]
+  end
 end
index 1d08808222956ec081ab2066e7ed2eddca488d97..faff45dd004b93e4dbeeb9fc1c11c6efbbfbf086 100644 (file)
@@ -4,7 +4,7 @@ class OldRelationTagTest < ActiveSupport::TestCase
   api_fixtures
   
   def test_tag_count
-    assert_equal 7, OldRelationTag.count
+    assert_equal 12, OldRelationTag.count
   end
   
   def test_length_key_valid
diff --git a/test/unit/old_relation_test.rb b/test/unit/old_relation_test.rb
new file mode 100644 (file)
index 0000000..c994910
--- /dev/null
@@ -0,0 +1,60 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class OldRelationTest < ActiveSupport::TestCase
+  api_fixtures
+
+  def test_db_count
+    assert_equal 14, OldRelation.count
+  end
+
+  def test_relation_tags
+    relation = relations(:relation_with_versions_v1)
+    tags = OldRelation.find(relation.id).old_tags.order(:k)
+    assert_equal 0, tags.count
+
+    relation = relations(:relation_with_versions_v2)
+    tags = OldRelation.find(relation.id).old_tags.order(:k)
+    assert_equal 0, tags.count
+
+    relation = relations(:relation_with_versions_v3)
+    tags = OldRelation.find(relation.id).old_tags.order(:k)
+    assert_equal 3, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in relation version 3", tags[0].v
+    assert_equal "testing three", tags[1].k
+    assert_equal "added in relation version 3", tags[1].v
+    assert_equal "testing two", tags[2].k
+    assert_equal "added in relation version 3", tags[2].v
+
+    relation = relations(:relation_with_versions_v4)
+    tags = OldRelation.find(relation.id).old_tags.order(:k)
+    assert_equal 2, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in relation version 3", tags[0].v
+    assert_equal "testing two", tags[1].k
+    assert_equal "modified in relation version 4", tags[1].v
+  end
+
+  def test_tags
+    relation = relations(:relation_with_versions_v1)
+    tags = OldRelation.find(relation.id).tags
+    assert_equal 0, tags.size
+
+    relation = relations(:relation_with_versions_v2)
+    tags = OldRelation.find(relation.id).tags
+    assert_equal 0, tags.size
+
+    relation = relations(:relation_with_versions_v3)
+    tags = OldRelation.find(relation.id).tags
+    assert_equal 3, tags.size
+    assert_equal "added in relation version 3", tags["testing"]
+    assert_equal "added in relation version 3", tags["testing two"]
+    assert_equal "added in relation version 3", tags["testing three"]
+
+    relation = relations(:relation_with_versions_v4)
+    tags = OldRelation.find(relation.id).tags
+    assert_equal 2, tags.size
+    assert_equal "added in relation version 3", tags["testing"]
+    assert_equal "modified in relation version 4", tags["testing two"]
+  end
+end
index 107111b1085f7e7b6525e1b09d4fce8a7e5ba40b..dbc001980b3df30c7ca6bb91d66d5e722beaa783 100644 (file)
@@ -4,7 +4,7 @@ class OldWayTagTest < ActiveSupport::TestCase
   api_fixtures
   
   def test_tag_count
-    assert_equal 7, OldWayTag.count
+    assert_equal 12, OldWayTag.count
   end
   
   def test_length_key_valid
diff --git a/test/unit/old_way_test.rb b/test/unit/old_way_test.rb
new file mode 100644 (file)
index 0000000..e75f98b
--- /dev/null
@@ -0,0 +1,60 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class OldWayTest < ActiveSupport::TestCase
+  api_fixtures
+
+  def test_db_count
+    assert_equal 12, OldWay.count
+  end
+
+  def test_way_tags
+    way = ways(:way_with_versions_v1)
+    tags = OldWay.find(way.id).old_tags.order(:k)
+    assert_equal 0, tags.count
+
+    way = ways(:way_with_versions_v2)
+    tags = OldWay.find(way.id).old_tags.order(:k)
+    assert_equal 0, tags.count
+
+    way = ways(:way_with_versions_v3)
+    tags = OldWay.find(way.id).old_tags.order(:k)
+    assert_equal 3, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in way version 3", tags[0].v
+    assert_equal "testing three", tags[1].k
+    assert_equal "added in way version 3", tags[1].v
+    assert_equal "testing two", tags[2].k
+    assert_equal "added in way version 3", tags[2].v
+
+    way = ways(:way_with_versions_v4)
+    tags = OldWay.find(way.id).old_tags.order(:k)
+    assert_equal 2, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in way version 3", tags[0].v
+    assert_equal "testing two", tags[1].k
+    assert_equal "modified in way version 4", tags[1].v
+  end
+
+  def test_tags
+    way = ways(:way_with_versions_v1)
+    tags = OldWay.find(way.id).tags
+    assert_equal 0, tags.size
+
+    way = ways(:way_with_versions_v2)
+    tags = OldWay.find(way.id).tags
+    assert_equal 0, tags.size
+
+    way = ways(:way_with_versions_v3)
+    tags = OldWay.find(way.id).tags
+    assert_equal 3, tags.size
+    assert_equal "added in way version 3", tags["testing"]
+    assert_equal "added in way version 3", tags["testing two"]
+    assert_equal "added in way version 3", tags["testing three"]
+
+    way = ways(:way_with_versions_v4)
+    tags = OldWay.find(way.id).tags
+    assert_equal 2, tags.size
+    assert_equal "added in way version 3", tags["testing"]
+    assert_equal "modified in way version 4", tags["testing two"]
+  end
+end
index 39a2ff828385e8d9ac99573b24ddb714533d3dae..0833c572d1de0480ac519e2913a8e33770e6820a 100644 (file)
@@ -4,7 +4,7 @@ class RelationTagTest < ActiveSupport::TestCase
   api_fixtures
   
   def test_relation_tag_count
-    assert_equal 7, RelationTag.count
+    assert_equal 9, RelationTag.count
   end
   
   def test_length_key_valid
index a62320cc7d66b0cd590f851b5fe6f9d6a6b75829..75a55e389a393909e63673ae6c6a29f68298e621 100644 (file)
@@ -102,4 +102,22 @@ class RelationTest < ActiveSupport::TestCase
     }
     assert_equal "Element relation/23 has duplicate tags with key dup", message_update.message
   end
+
+  def test_relation_tags
+    relation = current_relations(:relation_with_versions)
+    tags = Relation.find(relation.id).relation_tags.order(:k)
+    assert_equal 2, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in relation version 3", tags[0].v
+    assert_equal "testing two", tags[1].k
+    assert_equal "modified in relation version 4", tags[1].v
+  end
+
+  def test_tags
+    relation = current_relations(:relation_with_versions)
+    tags = Relation.find(relation.id).tags
+    assert_equal 2, tags.size
+    assert_equal "added in relation version 3", tags["testing"]
+    assert_equal "modified in relation version 4", tags["testing two"]
+  end
 end
index b338f9c25801d8bc4b9522d17ad77d5e3043cc51..9766e9c773acb9a777fd693a78f45be29ca0e114 100644 (file)
@@ -4,7 +4,7 @@ class WayTagTest < ActiveSupport::TestCase
   api_fixtures
   
   def test_way_tag_count
-    assert_equal 3, WayTag.count
+    assert_equal 5, WayTag.count
   end
   
   def test_length_key_valid
index d2a447e408aad5e3db4ae8a3339d05bfe9546c5f..6c2cdc0be4037ad09bd0ec1d22df295596dcb4ec 100644 (file)
@@ -135,4 +135,22 @@ class WayTest < ActiveSupport::TestCase
     }
     assert_equal "Element way/23 has duplicate tags with key dup", message_update.message
   end
+
+  def test_way_tags
+    way = current_ways(:way_with_versions)
+    tags = Way.find(way.id).way_tags.order(:k)
+    assert_equal 2, tags.count
+    assert_equal "testing", tags[0].k 
+    assert_equal "added in way version 3", tags[0].v
+    assert_equal "testing two", tags[1].k
+    assert_equal "modified in way version 4", tags[1].v
+  end
+
+  def test_tags
+    way = current_ways(:way_with_versions)
+    tags = Way.find(way.id).tags
+    assert_equal 2, tags.size
+    assert_equal "added in way version 3", tags["testing"]
+    assert_equal "modified in way version 4", tags["testing two"]
+  end
 end