Add explicit tests for lat/lon methods on node models
authorTom Hughes <tom@compton.nu>
Wed, 22 Mar 2017 20:43:39 +0000 (20:43 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 22 Mar 2017 20:43:39 +0000 (20:43 +0000)
test/models/node_test.rb
test/models/old_node_test.rb

index 6a19e242f2fe1a224f17b00046dfcd71fa2796f1..4384c6287eb8aa0eb4730d933fe3ac9ad509f135 100644 (file)
@@ -48,6 +48,19 @@ class NodeTest < ActiveSupport::TestCase
     assert_equal false, node.valid?
   end
 
+  def test_lat_lon
+    node = build(:node, :latitude => 12.345 * OldNode::SCALE, :longitude => 34.567 * OldNode::SCALE)
+
+    assert_in_delta 12.345, node.lat, 0.0000001
+    assert_in_delta 34.567, node.lon, 0.0000001
+
+    node.lat = 54.321
+    node.lon = 76.543
+
+    assert_in_delta 54.321 * OldNode::SCALE, node.latitude, 0.000001
+    assert_in_delta 76.543 * OldNode::SCALE, node.longitude, 0.000001
+  end
+
   # Check that you can create a node and store it
   def test_create
     changeset = create(:changeset)
index 3fa4bac3bdc0f526e3d76610341c014a93fe9653..8b05409577c88af00d0c86456723e3097944e684 100644 (file)
@@ -46,6 +46,19 @@ class OldNodeTest < ActiveSupport::TestCase
     assert_equal false, node.valid?
   end
 
+  def test_lat_lon
+    node = build(:old_node, :latitude => 12.345 * OldNode::SCALE, :longitude => 34.567 * OldNode::SCALE)
+
+    assert_in_delta 12.345, node.lat, 0.0000001
+    assert_in_delta 34.567, node.lon, 0.0000001
+
+    node.lat = 54.321
+    node.lon = 76.543
+
+    assert_in_delta 54.321 * OldNode::SCALE, node.latitude, 0.000001
+    assert_in_delta 76.543 * OldNode::SCALE, node.longitude, 0.000001
+  end
+
   def test_node_tags
     node_v1 = create(:old_node, :version => 1)
     node_v2 = create(:old_node, :node_id => node_v1.node_id, :version => 2)