public void Equality_Default() { var a = new TypeCheckExpression(); var b = new TypeCheckExpression(); Assert.AreEqual(a, b); Assert.AreEqual(a.GetHashCode(), b.GetHashCode()); }
public void DefaultValues() { var sut = new TypeCheckExpression(); Assert.AreEqual(new VariableReference(), sut.Reference); Assert.AreEqual(Names.UnknownType, sut.Type); Assert.AreNotEqual(0, sut.GetHashCode()); Assert.AreNotEqual(1, sut.GetHashCode()); }
public void TypeCheckExpression() { var sst = new TypeCheckExpression { Type = Names.Type("p:int"), Reference = VarRef("i") }; AssertPrint(sst, "i is int"); }
public void SettingValues() { var sut = new TypeCheckExpression { Type = Names.Type("p:int"), Reference = SomeVarRef() }; Assert.AreEqual(Names.Type("p:int"), sut.Type); Assert.AreEqual(SomeVarRef(), sut.Reference); }
public void Equality_DifferentVarRef() { var a = new TypeCheckExpression { Type = Names.Type("p:int"), Reference = SomeVarRef("i") }; var b = new TypeCheckExpression { Type = Names.Type("p:int"), Reference = SomeVarRef("j") }; Assert.AreNotEqual(a, b); Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); }
public void Equality_ReallyTheSame() { var a = new TypeCheckExpression { Type = Names.Type("p:int"), Reference = SomeVarRef() }; var b = new TypeCheckExpression { Type = Names.Type("p:int"), Reference = SomeVarRef() }; Assert.AreEqual(a, b); Assert.AreEqual(a.GetHashCode(), b.GetHashCode()); }
public void VisitorWithReturnIsImplemented() { var sut = new TypeCheckExpression(); sut.Accept(23).VerifyWithReturn(v => v.Visit(sut, 23)); }