コード例 #1
0
        public void ReleaseBall_WithBalls_ShouldReleaseOneBall()
        {
            var gm = new GumballMachineContext(2);

            gm.ReleaseBall();
            Assert.AreEqual((uint)1, gm.GetBallCount());
        }
コード例 #2
0
        public void CantReleaseBallIfGumballsCountIs0()
        {
            var gM = new GumballMachineContext();

            gM.ReleaseBall();
            Assert.AreEqual(gM.GetBallCount(), (uint)0);
        }
コード例 #3
0
        public void ReleaseBall_WithNoBalls_ShouldNotReleaseBall()
        {
            var gm = new GumballMachineContext(0);

            gm.ReleaseBall();
            Assert.AreEqual((uint)0, gm.GetBallCount());
        }
コード例 #4
0
        public void ReleaseBallTest()
        {
            var    stringWriter = new StringWriter();
            var    result       = new StringWriter();
            string gumballMachineStateResult = $"(Mighty Gumball, Inc.C# - enabled Standing Gumball Model #2019 (with state)Inventory:" +
                                               $" { 0 } gumball{ ( 0 != 1 ? "s" : "" ) } Machine is { BaseConstants.TO_STRING_NO_QUARTER_STATE })";
            var gumballMachine = new GumballMachineContext(1, stringWriter);

            gumballMachine.ReleaseBall();
            result.WriteLine(BaseConstants.RELEASE_BALL);
            Assert.AreEqual(result.ToString(), stringWriter.ToString());
            Assert.AreEqual(gumballMachineStateResult, gumballMachine.ToString());
        }