public void Hashcode() { var wrappedEdge = new Edge <int>(1, 2); var edge1 = new SReversedEdge <int, Edge <int> >(wrappedEdge); var edge2 = new SReversedEdge <int, Edge <int> >(wrappedEdge); var edge3 = new SReversedEdge <int, Edge <int> >(new Edge <int>(1, 2)); var edge4 = new SReversedEdge <int, Edge <int> >(new Edge <int>(2, 1)); Assert.AreEqual(edge1.GetHashCode(), edge2.GetHashCode()); Assert.AreNotEqual(edge1.GetHashCode(), edge3.GetHashCode()); Assert.AreNotEqual(edge1.GetHashCode(), edge4.GetHashCode()); }
public void HashcodeDefaultEdge_ReferenceTypeExtremities() { var edge1 = default(SReversedEdge <int, Edge <int> >); var edge2 = new SReversedEdge <int, Edge <int> >(); Assert.AreEqual(edge1.GetHashCode(), edge2.GetHashCode()); }
public void SReversedEdgeTestEverything() { var originalEdge1 = new SEquatableEdge <int>(0, 1); var reversedEdge1 = new SReversedEdge <int, SEquatableEdge <int> >(originalEdge1); Assert.AreEqual(1, reversedEdge1.Source); Assert.AreEqual(0, reversedEdge1.Target); Assert.AreEqual(String.Format("R({0}->{1})", 0, 1), reversedEdge1.ToString()); //equatable parts var originalEdge2 = new SEquatableEdge <int>(2, 3); var reversedEdge2 = new SReversedEdge <int, SEquatableEdge <int> >(originalEdge2); Assert.IsFalse(reversedEdge1.Equals(reversedEdge2)); Assert.IsFalse(reversedEdge1.Equals(1)); Assert.IsFalse(reversedEdge1 == reversedEdge2); Assert.IsTrue(reversedEdge1 != reversedEdge2); Assert.IsFalse(reversedEdge1.GetHashCode() == reversedEdge2.GetHashCode()); }