public void TestEquals()
{
float x = 1, y = 2;
float x2 = 3, y2 = 4;
Vector2D v1 = new Vector2D(x, y);
Vector2D v2 = new Vector2D(x, y);
Vector2D v3 = new Vector2D(x2, y2);
//Test IEquatable Equals
Assert.IsTrue(v1.Equals(v2), "Test IEquatable equals");
Assert.IsFalse(v1.Equals(v3), "Test IEquatable equals");
//Test object equals override
Assert.IsTrue(v1.Equals((object) v2), "Tests object equals");
Assert.IsFalse(v1.Equals((object) v3), "Tests object equals");
//Test op equals
Assert.IsTrue(v1 == v2, "Testing OpEquals");
Assert.IsFalse(v1 == v3, "Testing OpEquals");
//Test op not equals
Assert.IsTrue(v1 != v3, "Testing OpNotEquals");
Assert.IsFalse(v1 != v2, "Testing OpNotEquals");
}