Tests for [17838]
authorThomas Wood <grand.edgemaster@gmail.com>
Tue, 29 Sep 2009 03:58:33 +0000 (03:58 +0000)
committerThomas Wood <grand.edgemaster@gmail.com>
Tue, 29 Sep 2009 03:58:33 +0000 (03:58 +0000)
Why is our testing fixtures such a mess? It took me half an hour to find a useable node. And I'm still not sure if it's ok, since I want to get to bed. kthxbye

test/fixtures/current_way_nodes.yml
test/fixtures/current_ways.yml
test/fixtures/way_nodes.yml
test/fixtures/ways.yml
test/functional/way_controller_test.rb
test/unit/way_node_test.rb
test/unit/way_test.rb

index 66aae0f20af7ab68653288d1f8c4c84b9b10c02b..ced1a686c5099b9596b613d5faa50d105fd88fde 100644 (file)
@@ -17,3 +17,13 @@ t4:
   id: 4
   node_id: 15
   sequence_id: 1
+
+w5_n1:
+  id: 5
+  node_id: 4
+  sequence_id: 1
+
+w5_n2:
+  id: 5
+  node_id: 4
+  sequence_id: 2
index 51b585df057872c591f766ded4454151c7645a18..cd06d06d3a900d1643f510db2541eae779a3ffcf 100644 (file)
@@ -25,3 +25,10 @@ way_with_versions:
   timestamp: 2008-01-01 00:04:00
   visible: true
   version: 4
+
+way_with_duplicate_nodes:
+  id: 5
+  changeset_id: 2
+  timestamp: 2007-01-01 00:00:00
+  visible: true
+  version: 1
index 0b43f6a9c1f586ce70c7c64f4276cb3a2e5a452b..3f7a3dbde9103871d21e1d45bae75729f475c6fd 100644 (file)
@@ -63,3 +63,15 @@ w4_v4_n1:
   node_id: 15
   sequence_id: 1
   version: 4
+
+w5_n1:
+  id: 5
+  node_id: 4
+  sequence_id: 1
+  version: 1
+
+w5_n2:
+  id: 5
+  node_id: 4
+  sequence_id: 2
+  version: 1
index 62ff2458d2d44ef11fd800c032249da9f8240b5f..090508702cfbe87ca60cfe299d2cb0e490faaf6c 100644 (file)
@@ -47,3 +47,9 @@ way_with_versions_v4:
   visible: true
   version: 4
 
+way_with_duplicate_nodes:
+  id: 5
+  changeset_id: 2
+  timestamp: 2007-01-01 00:00:00
+  visible: true
+  version: 1
index 607f2dc6fe39017b934d79b265ac00a49d758a1d..6b58137aee0a011aa37ff3db355c7b63ab5ed8e9 100644 (file)
@@ -41,11 +41,10 @@ class WayControllerTest < ActionController::TestCase
       assert_select "osm way[id=#{way.id}][version=#{way.version}][visible=#{way.visible}]", 1
       
       # check that each node in the way appears once in the output as a 
-      # reference and as the node element. note the slightly dodgy assumption
-      # that nodes appear only once. this is currently the case with the
-      # fixtures, but it doesn't have to be.
+      # reference and as the node element.
       way.nodes.each do |n|
-        assert_select "osm way nd[ref=#{n.id}]", 1
+        count = (way.nodes - (way.nodes - [n])).length
+        assert_select "osm way nd[ref=#{n.id}]", count
         assert_select "osm node[id=#{n.id}][version=#{n.version}][lat=#{n.lat}][lon=#{n.lon}]", 1
       end
     end
index edb6558fab11889fde983cf4ad96524415346de5..608d5c5aeafc0592fd9d2218d467d6fa86809c42 100644 (file)
@@ -4,7 +4,7 @@ class WayNodeTest < ActiveSupport::TestCase
   api_fixtures
   
   def test_way_nodes_count
-    assert_equal 4, WayNode.count
+    assert_equal 6, WayNode.count
   end
   
 end
index c13c9755fa0de2f52518510a9d4fc2ec41beb71a..39da76ec0ad204b496795c85ebc69622216a05de 100644 (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 4, Way.count
+    assert_equal 5, Way.count
   end
   
   def test_bbox