test/test_plane.rb in gmath3D-0.2.1 vs test/test_plane.rb in gmath3D-0.2.2
- old
+ new
@@ -23,9 +23,42 @@
def test_to_s
assert_equal("Plane[point[0, 0, 1], normal[0.0, 0.0, 1.0]]", @plane.to_s)
end
+ def test_equals
+ plane = Plane.new()
+ shallow_copied = plane
+ assert(plane.equal?(shallow_copied))
+ assert(plane == shallow_copied)
+ assert(plane != nil)
+ assert(plane != "string")
+
+ assert_equal(Plane.new(Vector3.new(1,2,3), Vector3.new(2,3,4)), Plane.new(Vector3.new(1.0,2.0,3.0), Vector3.new(2.0,3.0,4.0)))
+
+ assert(Plane.new(Vector3.new(1,2,3), Vector3.new(2,3,4)) == Plane.new(Vector3.new(1.0,2.0,3.0), Vector3.new(2.0,3.0,4.0)))
+ assert(Plane.new(Vector3.new(1,2,3), Vector3.new(2,3,4)) == Plane.new(Vector3.new(1.0,2.0,3.0), Vector3.new(4.0,6,8.0)))
+ assert(Plane.new(Vector3.new(1,2,3), Vector3.new(2,3,3)) != Plane.new(Vector3.new(1.0,2.0,3.0), Vector3.new(2.0,3.0,4.0)))
+ assert(Plane.new(Vector3.new(1,2,3), Vector3.new(2,3,4)) != Plane.new(Vector3.new(2,3,4), Vector3.new(1,2,3)))
+ end
+
+ def test_clone
+ plane = Plane.new()
+ shallow_copied = plane
+ shallow_copied.base_point.x = -1
+ assert(plane == shallow_copied)
+ assert(plane.equal?(shallow_copied))
+ assert_equal(-1, shallow_copied.base_point.x)
+
+ cloned = plane.clone
+ assert(plane == cloned)
+ assert(!plane.equal?(cloned))
+ cloned.base_point.x = -2
+ assert_equal(-2, cloned.base_point.x)
+
+ assert_equal(-1, plane.base_point.x) # original never changed in editing cloned one.
+ end
+
def test_distance_to_point
target_point = Vector3.new(1,2,3)
distance, closest_point = @plane.distance(target_point)
assert_in_delta(2, distance, target_point.tolerance)
assert_equal(Vector3.new(1,2,1),closest_point)