public static void DemandFundsWithoutAContainer()
    {
        var parent = Rock.Create <IParent>();

        parent.Methods().ProduceFunds().Returns(5);

        var child = new DependentChild(parent.Instance());

        child.DemandFunds();

        Assert.That(child.Wallet, Is.EqualTo(5));

        parent.Verify();
    }
        public static void DemandFundsWithoutAContainer()
        {
            var parent = new Mock <IParent>(MockBehavior.Strict);

            parent.Setup(_ => _.ProduceFunds()).Returns(5);

            var child = new DependentChild(parent.Object);

            child.DemandFunds();

            Assert.That(child.Wallet, Is.EqualTo(5));

            parent.VerifyAll();
        }
예제 #3
0
        private static void RunDependentChild()
        {
            Console.Out.WriteLine(nameof(Program.RunDependentChild));

            var childUsesJason = new DependentChild(new JasonAsParent());

            for (var i = 0; i < 1000; i++)
            {
                childUsesJason.DemandFunds();
            }

            Console.Out.WriteLine($"{nameof(childUsesJason)} - {childUsesJason.Wallet}");

            var childUsesLiz = new DependentChild(new LizAsParent(new SecureRandom()));

            for (var i = 0; i < 1000; i++)
            {
                childUsesLiz.DemandFunds();
            }

            Console.Out.WriteLine($"{nameof(childUsesLiz)} - {childUsesLiz.Wallet}");
        }