public void ConstantsNotRelevant() { var data = new int[] { 1, 3, 5, 6 }; var query1 = from entry in data.AsQueryable() where entry % 2 == 0 select entry * 4; var query2 = from entry in data.AsQueryable() where entry % 3 == 2 select entry * 7; var hash1 = ExpressionTreeStructureHasher.ComputeHash(query1.Expression); var hash2 = ExpressionTreeStructureHasher.ComputeHash(query2.Expression); Assert.Equal(hash1, hash2); }
public void DifferentQueryDifferetHash() { var data = new int[] { 1, 3, 5, 6 }; var query1 = from entry in data.AsQueryable() where entry % 2 == 0 select entry * 4; var query2 = from entry in data.AsQueryable() where entry == 3 select entry * 4; var hash1 = ExpressionTreeStructureHasher.ComputeHash(query1.Expression); var hash2 = ExpressionTreeStructureHasher.ComputeHash(query2.Expression); Assert.NotEqual(hash1, hash2); }
public void ParameterValuesNotRelevant() { var data = new int[] { 1, 3, 5, 6 }; int mod = 2; var query1 = from entry in data.AsQueryable() where entry % mod == 0 select entry * 4; mod = 3; var query2 = from entry in data.AsQueryable() where entry % mod == 0 select entry * 4; var hash1 = ExpressionTreeStructureHasher.ComputeHash(query1.Expression); var hash2 = ExpressionTreeStructureHasher.ComputeHash(query2.Expression); Assert.Equal(hash1, hash2); }