Adding some more unit test stubs that need filling out. Adding changeset tags fixture...
authorShaun McDonald <shaun@shaunmcdonald.me.uk>
Fri, 14 Nov 2008 02:06:04 +0000 (02:06 +0000)
committerShaun McDonald <shaun@shaunmcdonald.me.uk>
Fri, 14 Nov 2008 02:06:04 +0000 (02:06 +0000)
app/models/way.rb
test/fixtures/changeset_tags.yml [new file with mode: 0644]
test/unit/changeset_tag_test.rb [new file with mode: 0644]
test/unit/changeset_test.rb [new file with mode: 0644]
test/unit/way_node_test.rb [new file with mode: 0644]
test/unit/way_tag_test.rb [new file with mode: 0644]
test/unit/way_test.rb

index 7c29a44b379857574a7327a6b2f458099916bf9a..0c27e54606414e3e0986036a281955b25f13528c 100644 (file)
@@ -27,7 +27,7 @@ class Way < ActiveRecord::Base
       doc = p.parse
 
       doc.find('//osm/way').each do |pt|
-       return Way.from_xml_node(pt, create)
+        return Way.from_xml_node(pt, create)
       end
     rescue
       return nil
diff --git a/test/fixtures/changeset_tags.yml b/test/fixtures/changeset_tags.yml
new file mode 100644 (file)
index 0000000..34d2bf4
--- /dev/null
@@ -0,0 +1,4 @@
+changeset_1_tag_1: 
+  id: 1
+  k: created_by
+  v: test suite yml
diff --git a/test/unit/changeset_tag_test.rb b/test/unit/changeset_tag_test.rb
new file mode 100644 (file)
index 0000000..466ee04
--- /dev/null
@@ -0,0 +1,11 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class ChangesetTagTest < Test::Unit::TestCase
+  fixtures :changeset_tags
+  
+  
+  def test_changeset_tags_count
+    assert_equal 1, ChangesetTag.count
+  end
+  
+end
diff --git a/test/unit/changeset_test.rb b/test/unit/changeset_test.rb
new file mode 100644 (file)
index 0000000..ee9d092
--- /dev/null
@@ -0,0 +1,11 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class ChangesetTest < Test::Unit::TestCase
+  fixtures :changesets
+  
+  
+  def test_changeset_count
+    assert_equal 5, Changeset.count
+  end
+  
+end
diff --git a/test/unit/way_node_test.rb b/test/unit/way_node_test.rb
new file mode 100644 (file)
index 0000000..b931d3c
--- /dev/null
@@ -0,0 +1,12 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class WayNodeTest < Test::Unit::TestCase
+  fixtures :way_nodes
+  set_fixture_class :way_nodes=>OldWayNode
+  set_fixture_class :current_way_nodes=>WayNode
+  
+  def test_way_nodes_count
+    assert_equal 4, WayNode.count
+  end
+  
+end
diff --git a/test/unit/way_tag_test.rb b/test/unit/way_tag_test.rb
new file mode 100644 (file)
index 0000000..099d29d
--- /dev/null
@@ -0,0 +1,11 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class WayTagTest < Test::Unit::TestCase
+  fixtures :way_tags
+  
+  
+  def test_way_tag_count
+    assert_equal 3, WayTag.count
+  end
+  
+end
index cd565fd27a8626dd22962734d52dabb038b95f55..584a30daaa3698a4dd4f1ef9bcdcd686ab1fd115 100644 (file)
@@ -3,6 +3,13 @@ require File.dirname(__FILE__) + '/../test_helper'
 class WayTest < Test::Unit::TestCase
   api_fixtures
 
+  
+  # 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
+  end
+  
   def test_bbox
     node = current_nodes(:used_node_1)
     [ :visible_way,
@@ -13,4 +20,21 @@ class WayTest < Test::Unit::TestCase
     end
   end
   
+  # Check that the preconditions fail when you are over the defined limit of 
+  # the maximum number of nodes in each way.
+  def test_max_nodes_per_way_limit
+    # Take one of the current ways and add nodes to it until we are near the limit
+    way = Way.find(current_ways(:visible_way).id)
+    assert way.valid?
+    # it already has 1 node
+    1.upto((APP_CONFIG['max_number_of_way_nodes'])/2) {
+      way.add_nd_num(current_nodes(:used_node_1).id)
+      way.add_nd_num(current_nodes(:used_node_2).id)
+    }
+    way.save
+    #print way.nds.size
+    assert way.valid?
+    way.add_nd_num(current_nodes(:visible_node).id)
+    assert way.valid?
+  end
 end