public void ConditionalMatcherEqualsByConditionFunctionAndName() { Func <string, bool> condition = s => s.Length > 0; var matcher = new ConditionalMatcher <string>(condition, "foo"); Assert.True(matcher.Equals(new ConditionalMatcher <string>(condition, "foo"))); Assert.True(matcher.Equals(new ConditionalMatcher <string>(condition, "foo"), EqualityComparer <object> .Default)); Assert.Equal(matcher.GetHashCode(), new ConditionalMatcher <string>(condition, "foo").GetHashCode()); Assert.Equal(matcher.GetHashCode(EqualityComparer <object> .Default), new ConditionalMatcher <string>(condition, "foo").GetHashCode(EqualityComparer <object> .Default)); Assert.False(matcher.Equals(new ConditionalMatcher <string>(condition, "bar"))); Assert.False(matcher.Equals(new ConditionalMatcher <string>(s => s.Length > 0, "foo"))); }
public void EqualsByConditionFunctionAndName() { Func <string, bool> condition = s => s.Length > 0; var matcher = new ConditionalMatcher <string>(condition, "foo"); Assert.True(matcher.Equals(new ConditionalMatcher <string>(condition, "foo"))); Assert.Equal(matcher.GetHashCode(), new ConditionalMatcher <string>(condition, "foo").GetHashCode()); Assert.False(matcher.Equals(new ConditionalMatcher <string>(condition, "bar"))); Assert.False(matcher.Equals(new ConditionalMatcher <string>(s => s.Length > 0, "foo"))); Assert.False(matcher.Equals(new ConditionalMatcher <int>(_ => true, "foo"))); }