public override bool Equals(object obj) { ParameterExpressionFingerprint other = obj as ParameterExpressionFingerprint; return((other != null) && (this.ParameterIndex == other.ParameterIndex) && this.Equals(other)); }
public void Comparison_Inequality_Type() { // Arrange ExpressionType nodeType = ExpressionType.Parameter; Type type = typeof(object); int parameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint1 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); ParameterExpressionFingerprint fingerprint2 = new ParameterExpressionFingerprint(nodeType, typeof(string), parameterIndex); // Assert Assert.AreNotEqual(fingerprint1, fingerprint2, "Fingerprints should not have been equal (differ by Type)."); }
public void Properties() { // Arrange ExpressionType expectedNodeType = ExpressionType.Parameter; Type expectedType = typeof(object); int expectedParameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint = new ParameterExpressionFingerprint(expectedNodeType, expectedType, expectedParameterIndex); // Assert Assert.AreEqual(expectedNodeType, fingerprint.NodeType); Assert.AreEqual(expectedType, fingerprint.Type); Assert.AreEqual(expectedParameterIndex, fingerprint.ParameterIndex); }
public void Comparison_Equality() { // Arrange ExpressionType nodeType = ExpressionType.Parameter; Type type = typeof(object); int parameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint1 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); ParameterExpressionFingerprint fingerprint2 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); // Assert Assert.AreEqual(fingerprint1, fingerprint2, "Fingerprints should have been equal."); Assert.AreEqual(fingerprint1.GetHashCode(), fingerprint2.GetHashCode(), "Fingerprints should have been different."); }
public void Comparison_Inequality_Type() { // Arrange ExpressionType nodeType = ExpressionType.Parameter; Type type = typeof(object); int parameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint1 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); ParameterExpressionFingerprint fingerprint2 = new ParameterExpressionFingerprint(nodeType, typeof(string), parameterIndex); // Assert Assert.NotEqual(fingerprint1, fingerprint2); }
public void Comparison_Inequality_Type() { // Arrange ExpressionType nodeType = ExpressionType.Parameter; Type type = typeof(object); int parameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint1 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); ParameterExpressionFingerprint fingerprint2 = new ParameterExpressionFingerprint(nodeType, typeof(string), parameterIndex); // Assert Assert.AreNotEqual(fingerprint1, fingerprint2, "Fingerprints should not have been equal (differ by Type)."); }
public void Comparison_Inequality_Type() { // Arrange ExpressionType nodeType = ExpressionType.Parameter; Type type = typeof(object); int parameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint1 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); ParameterExpressionFingerprint fingerprint2 = new ParameterExpressionFingerprint(nodeType, typeof(string), parameterIndex); // Assert Assert.NotEqual(fingerprint1, fingerprint2); }
public void Comparison_Equality() { // Arrange ExpressionType nodeType = ExpressionType.Parameter; Type type = typeof(object); int parameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint1 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); ParameterExpressionFingerprint fingerprint2 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); // Assert Assert.Equal(fingerprint1, fingerprint2); Assert.Equal(fingerprint1.GetHashCode(), fingerprint2.GetHashCode()); }
public void Properties() { // Arrange ExpressionType expectedNodeType = ExpressionType.Parameter; Type expectedType = typeof(object); int expectedParameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint = new ParameterExpressionFingerprint(expectedNodeType, expectedType, expectedParameterIndex); // Assert Assert.Equal(expectedNodeType, fingerprint.NodeType); Assert.Equal(expectedType, fingerprint.Type); Assert.Equal(expectedParameterIndex, fingerprint.ParameterIndex); }
public void Comparison_Equality() { // Arrange ExpressionType nodeType = ExpressionType.Parameter; Type type = typeof(object); int parameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint1 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); ParameterExpressionFingerprint fingerprint2 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); // Assert Assert.Equal(fingerprint1, fingerprint2); Assert.Equal(fingerprint1.GetHashCode(), fingerprint2.GetHashCode()); }
public void Create_DegenerateParameter() { // Arrange ParameterExpression expression = Expression.Parameter(typeof(int), null); ParserContext context = new ParserContext() { ModelParameter = Expression.Parameter(typeof(string), null) // different ParameterExpression }; // Act ParameterExpressionFingerprint fingerprint = ParameterExpressionFingerprint.Create(expression, context); // Assert Assert.IsNull(fingerprint, "Degenerate ParameterExpression cannot be parsed."); }
public void Create_ModelParameter() { // Arrange ParameterExpression expression = Expression.Parameter(typeof(int), null); ParserContext context = new ParserContext() { ModelParameter = expression }; // Act ParameterExpressionFingerprint fingerprint = ParameterExpressionFingerprint.Create(expression, context); // Assert Assert.IsNotNull(fingerprint); }
public void Comparison_Equality() { // Arrange ExpressionType nodeType = ExpressionType.Parameter; Type type = typeof(object); int parameterIndex = 1; // Act ParameterExpressionFingerprint fingerprint1 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); ParameterExpressionFingerprint fingerprint2 = new ParameterExpressionFingerprint(nodeType, type, parameterIndex); // Assert Assert.AreEqual(fingerprint1, fingerprint2, "Fingerprints should have been equal."); Assert.AreEqual(fingerprint1.GetHashCode(), fingerprint2.GetHashCode(), "Fingerprints should have been different."); }
public void ToExpression() { // Arrange ParameterExpression expression = Expression.Parameter(typeof(int), null); ParserContext context = new ParserContext() { ModelParameter = expression }; ParameterExpressionFingerprint fingerprint = ParameterExpressionFingerprint.Create(expression, context); // Act Expression result = fingerprint.ToExpression(context); // Assert Assert.AreEqual(expression, result, "Original model parameter should have been returned."); }