コード例 #1
0
        public void Canonical_Moq()
        {
            var c = Mock.Of <IC>();
            var d = Mock.Of <ID>();
            var b = Mock.Of <IB>(x => x.GetC() == c && x.GetD() == d);
            var a = new MyA(b);

            Assert.That(a.GetDependencies(), Is.EqualTo((b, c, d)));
            Mock.Get(b).Verify(x => x.GetC());
            Mock.Get(b).Verify(x => x.GetD());
        }
コード例 #2
0
        public void Canonical_FakeItEasy()
        {
            var d = A.Fake <ID>();
            var c = A.Fake <IC>();
            var b = A.Fake <IB>();

            A.CallTo(() => b.GetC()).Returns(c);
            A.CallTo(() => b.GetD()).Returns(d);
            var a = new MyA(b);

            Assert.That(a.GetDependencies(), Is.EqualTo((b, c, d)));
            A.CallTo(() => b.GetC()).MustHaveHappened();
            A.CallTo(() => b.GetD()).MustHaveHappened();
        }
コード例 #3
0
        public void Canonical_NSubstitute()
        {
            var d = Substitute.For <ID>();
            var c = Substitute.For <IC>();
            var b = Substitute.For <IB>();

            b.GetC().Returns(c);
            b.GetD().Returns(d);
            var a = new MyA(b);

            Assert.That(a.GetDependencies(), Is.EqualTo((b, c, d)));
            b.Received().GetC();
            b.Received().GetD();
        }