示例#1
0
        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")));
        }