diff options
author | Dan Liew <daniel.liew@imperial.ac.uk> | 2015-01-29 09:29:42 +0000 |
---|---|---|
committer | Dan Liew <daniel.liew@imperial.ac.uk> | 2015-01-29 09:29:42 +0000 |
commit | 0e3b0f7e24fb00bebd190a801d82f4c48e443786 (patch) | |
tree | cffa7ba95e9692b1983e7f1fc7978aebedd089b6 /Source/UnitTests | |
parent | 07479d57e747cac41ffe4380165225dd4502f7b3 (diff) |
Add unit tests to check that ComputeHashCode() and GetHashCode() agree
for BvExtractExpr, BvConcatExpr and OldExpr.
Diffstat (limited to 'Source/UnitTests')
-rw-r--r-- | Source/UnitTests/CoreTests/ExprImmutability.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/UnitTests/CoreTests/ExprImmutability.cs b/Source/UnitTests/CoreTests/ExprImmutability.cs index a1c08e9e..3dd2e427 100644 --- a/Source/UnitTests/CoreTests/ExprImmutability.cs +++ b/Source/UnitTests/CoreTests/ExprImmutability.cs @@ -50,6 +50,30 @@ namespace CoreTests } [Test()] + public void CachedHashCodeBvExtractExpr() + { + var literalBv = new LiteralExpr(Token.NoToken, Microsoft.Basetypes.BigNum.FromInt(0), 4, /*immutable=*/true); + var bvExtract = new BvExtractExpr(Token.NoToken, literalBv, 3, 0, /*immutable=*/true); + Assert.AreEqual(bvExtract.ComputeHashCode(), bvExtract.GetHashCode()); + } + + [Test()] + public void CachedHashCodeBvConcatExpr() + { + var literalBv = new LiteralExpr(Token.NoToken, Microsoft.Basetypes.BigNum.FromInt(0), 4, /*immutable=*/true); + var bvConcat = new BvConcatExpr(Token.NoToken, literalBv, literalBv, /*immutable=*/true); + Assert.AreEqual(bvConcat.ComputeHashCode(), bvConcat.GetHashCode()); + } + + [Test()] + public void CachedHashCodeOldExpr() + { + var literalBv = new LiteralExpr(Token.NoToken, Microsoft.Basetypes.BigNum.FromInt(0), 4, /*immutable=*/true); + var oldExpr = new OldExpr(Token.NoToken, literalBv, /*immutable=*/true); + Assert.AreEqual(oldExpr.ComputeHashCode(), oldExpr.GetHashCode()); + } + + [Test()] public void CachedHashCodeForAllExpr() { var x = new BoundVariable(Token.NoToken, new TypedIdent(Token.NoToken, "x", BasicType.Int)); |