public void ShouldTriggerForDifferentEnumerables() { var hint = new EnumerableOperatorEqualsHint(); object x = new[] { 3 }; object y = new List<int> { 3 }; Expression<Func<bool>> assertion = () => x == y; string message; Assert.IsTrue(hint.TryGetHint(assertion.Body, out message)); Assert.IsNotNull(message); }
public void ShouldTriggerOnSequenceEqualEnumerables() { var hint = new EnumerableOperatorEqualsHint(); var x = new[] { 3 }; var y = new[] { 3 }; Expression<Func<bool>> assertion = () => x == y; string message; Assert.IsTrue(hint.TryGetHint(assertion.Body, out message)); Assert.IsNotNull(message); }
public void ShouldntTriggerOnEqualsMethod() { var hint = new EnumerableOperatorEqualsHint(); var x = new[] { 3 }; var y = new[] { 3 }; Expression<Func<bool>> assertion = () => x.Equals(y); string message; Assert.IsFalse(hint.TryGetHint(assertion.Body, out message)); Assert.IsNull(message); }
public void ShouldntTriggerOnNonSequenceEqualEnumerables() { var hint = new EnumerableOperatorEqualsHint(); var x = new[] {2}; var y = new[] {3}; Expression<Func<bool>> assertion = () => x == y; var p = new ExpressionParser(assertion.Body); string message; Assert.IsFalse(hint.TryGetHint(p, assertion.Body, out message)); Assert.IsNull(message); }