public void InstanceRestrictionEqualsIfAllSame() { Expression exp = Expression.Default(typeof(Egalitarian)); Egalitarian inst = new Egalitarian(); BindingRestrictions x = BindingRestrictions.GetInstanceRestriction(exp, inst); BindingRestrictions y = BindingRestrictions.GetInstanceRestriction(exp, inst); Assert.Equal(x, y); Assert.Equal(x.GetHashCode(), y.GetHashCode()); x = BindingRestrictions.GetInstanceRestriction(exp, null); y = BindingRestrictions.GetInstanceRestriction(exp, null); Assert.Equal(x, y); Assert.Equal(x.GetHashCode(), y.GetHashCode()); }
public void CustomRestrictionsEqualIfExpressionSame() { Expression exp = Expression.Constant(false); BindingRestrictions x = BindingRestrictions.GetExpressionRestriction(exp); BindingRestrictions y = BindingRestrictions.GetExpressionRestriction(exp); Assert.Equal(x, y); Assert.Equal(x.GetHashCode(), y.GetHashCode()); }
public void TypeRestrictionEqualIfSameTypeAndExpression() { Expression exp = Expression.Default(typeof(Egalitarian)); BindingRestrictions x = BindingRestrictions.GetTypeRestriction(exp, typeof(Egalitarian)); BindingRestrictions y = BindingRestrictions.GetTypeRestriction( exp, typeof(Egalitarian).MakeArrayType().GetElementType()); Assert.Equal(x, y); Assert.Equal(x.GetHashCode(), y.GetHashCode()); }