public void DefaultValues() { var sut = new TypeHierarchy(); Assert.AreEqual(Names.UnknownType, sut.Element); Assert.Null(sut.Extends); Assert.AreEqual(Sets.NewHashSet <ITypeHierarchy>(), sut.Implements); Assert.False(sut.HasSuperclass); Assert.False(sut.HasSupertypes); Assert.False(sut.IsImplementingInterfaces); Assert.AreNotEqual(0, sut.GetHashCode()); Assert.AreNotEqual(1, sut.GetHashCode()); }
public void Equality_Default() { var a = new TypeHierarchy(); var b = new TypeHierarchy(); Assert.AreEqual(a, b); Assert.AreEqual(a.GetHashCode(), b.GetHashCode()); }
public void Equality_DifferentElement() { var a = new TypeHierarchy { Element = Names.Type("T1,P1") }; var b = new TypeHierarchy(); Assert.AreNotEqual(a, b); Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); }
public void Equality_DifferentImplements() { var a = new TypeHierarchy { Implements = { SomeHierarchy("i") } }; var b = new TypeHierarchy(); Assert.AreNotEqual(a, b); Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); }
public void Equality_DifferentExtends() { var a = new TypeHierarchy { Extends = SomeHierarchy("a") }; var b = new TypeHierarchy(); Assert.AreNotEqual(a, b); Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); }
public void Equality_ReallyTheSame() { var a = new TypeHierarchy { Element = Names.Type("T1,P1"), Extends = SomeHierarchy("x"), Implements = { SomeHierarchy("y") } }; var b = new TypeHierarchy { Element = Names.Type("T1,P1"), Extends = SomeHierarchy("x"), Implements = { SomeHierarchy("y") } }; Assert.AreEqual(a, b); Assert.AreEqual(a.GetHashCode(), b.GetHashCode()); }