public void ReturnSamevaluesAsInCtor()
        {
            ProxyMethodExpectationTriplet triplet = new ProxyMethodExpectationTriplet(proxy, this.endsWith, this.expectation);

            Assert.Equal(proxy, triplet.Proxy);
            Assert.Equal(endsWith, triplet.Method);
            Assert.Equal(expectation, triplet.Expectation);
        }
        public void EqualsTest()
        {
            ProxyInstance proxy1                = new ProxyInstance(null);
            ProxyInstance proxy2                = new ProxyInstance(null);
            MethodInfo    method1               = typeof(string).GetMethod("StartsWith", new Type[] { typeof(string) }),
                          method2               = endsWith;
            IExpectation expectation1           = new AnyArgsExpectation(new FakeInvocation(method1), new Range(1, 1)),
                         expectation2           = new AnyArgsExpectation(new FakeInvocation(method2), new Range(1, 1));
            ProxyMethodExpectationTriplet same1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          same2 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1);

            Assert.Equal(same1, same2);
            Assert.Equal(same2, same1);

            ProxyMethodExpectationTriplet proxyDiff1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          proxyDiff2 = new ProxyMethodExpectationTriplet(proxy2, method1, expectation1);

            Assert.NotEqual(proxyDiff2, proxyDiff1);
            Assert.NotEqual(proxyDiff1, proxyDiff2);

            ProxyMethodExpectationTriplet methodDiff1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          methodDiff2 = new ProxyMethodExpectationTriplet(proxy1, method2, expectation1);

            Assert.NotEqual(methodDiff1, methodDiff2);
            Assert.NotEqual(methodDiff2, methodDiff1);


            ProxyMethodExpectationTriplet expectationDiff1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          expectationDiff2 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation2);

            Assert.NotEqual(expectationDiff1, expectationDiff2);
            Assert.NotEqual(expectationDiff2, expectationDiff1);


            ProxyMethodExpectationTriplet allDiff1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          allDiff2 = new ProxyMethodExpectationTriplet(proxy2, method2, expectation2);

            Assert.NotEqual(allDiff1, allDiff2);
            Assert.NotEqual(allDiff2, allDiff1);
        }
        public void GetHashCodeReturnSameValue()
        {
            ProxyMethodExpectationTriplet triplet = new ProxyMethodExpectationTriplet(proxy, this.endsWith, this.expectation);

            Assert.Equal(triplet.GetHashCode(), triplet.GetHashCode());
        }
        public void FalseOnEqualToNull()
        {
            ProxyMethodExpectationTriplet triplet = new ProxyMethodExpectationTriplet(proxy, this.endsWith, this.expectation);

            Assert.False(triplet.Equals(null));
        }