public void TestEquality()
{
UnitQuaternion first = new UnitQuaternion(1.0, 2.0, 3.0, 4.0);
UnitQuaternion second = new UnitQuaternion(1.0, 2.0, 3.0, 4.0);
Assert.AreEqual(first, second);
Assert.AreEqual(second, first);
Assert.IsTrue(first == second);
Assert.IsTrue(second == first);
Assert.IsFalse(first != second);
Assert.IsFalse(second != first);
Assert.IsTrue(first.Equals(second));
Assert.IsTrue(second.Equals(first));
second = new UnitQuaternion(1.1, 2.0, 3.0, 4.0);
Assert.AreNotEqual(first, second);
Assert.AreNotEqual(second, first);
Assert.IsFalse(first == second);
Assert.IsFalse(second == first);
Assert.IsTrue(first != second);
Assert.IsTrue(second != first);
Assert.IsFalse(first.Equals(second));
Assert.IsFalse(second.Equals(first));
second = new UnitQuaternion(1.0, 2.2, 3.0, 4.0);
Assert.AreNotEqual(first, second);
Assert.AreNotEqual(second, first);
Assert.IsFalse(first == second);
Assert.IsFalse(second == first);
Assert.IsTrue(first != second);
Assert.IsTrue(second != first);
Assert.IsFalse(first.Equals(second));
Assert.IsFalse(second.Equals(first));
second = new UnitQuaternion(1.0, 2.0, 3.3, 4.0);
Assert.AreNotEqual(first, second);
Assert.AreNotEqual(second, first);
Assert.IsFalse(first == second);
Assert.IsFalse(second == first);
Assert.IsTrue(first != second);
Assert.IsTrue(second != first);
Assert.IsFalse(first.Equals(second));
Assert.IsFalse(second.Equals(first));
second = new UnitQuaternion(1.0, 2.0, 3.3, 4.4);
Assert.AreNotEqual(first, second);
Assert.AreNotEqual(second, first);
Assert.IsFalse(first == second);
Assert.IsFalse(second == first);
Assert.IsTrue(first != second);
Assert.IsTrue(second != first);
Assert.IsFalse(first.Equals(second));
Assert.IsFalse(second.Equals(first));
}