public void GumballMachineInHasQuarterStateTest()
        {
            var stringWriter = new StringWriter();
            var result       = new StringWriter();
            var noQuarterStateDescription = $"(Mighty Gumball, Inc.C# - enabled Standing Gumball Model #2019 (with state)Inventory:" +
                                            $" { 10 } gumball{ ( 10 != 1 ? "s" : "" ) } Machine is { BaseConstants.TO_STRING_NO_QUARTER_STATE })";
            var noQuarterStateDescriptionAfterDispense = $"(Mighty Gumball, Inc.C# - enabled Standing Gumball Model #2019 (with state)Inventory:" +
                                                         $" { 9 } gumball{ ( 9 != 1 ? "s" : "" ) } Machine is { BaseConstants.TO_STRING_NO_QUARTER_STATE })";
            var gumballMachine = new GumballMachineContext(10, stringWriter);

            gumballMachine.InsertQuarter();
            result.WriteLine(BaseConstants.INSERT_QUARTER_NO_QUARTER_STATE);

            gumballMachine.InsertQuarter();
            result.WriteLine(BaseConstants.INSERT_QUARTER_HAS_QUARTER_STATE);
            gumballMachine.EjectQuarter();
            result.WriteLine(BaseConstants.EJECT_QUARTER_HAS_QUARTER_STATE);

            Assert.AreEqual(noQuarterStateDescription, gumballMachine.ToString());

            gumballMachine.SetHasQuarterState();
            gumballMachine.TurnCrank();
            result.WriteLine(BaseConstants.TURN_CRANK_HAS_QUARTER_STATE);
            result.WriteLine(BaseConstants.RELEASE_BALL);

            Assert.AreEqual(noQuarterStateDescriptionAfterDispense, gumballMachine.ToString());
            Assert.AreEqual(result.ToString(), stringWriter.ToString());
        }
        public void SetHasQuarterState_ShouldSetHasQuarterState()
        {
            var gm = new GumballMachineContext(5);

            gm.SetHasQuarterState();
            Assert.AreEqual(GetGumballMachineString(5, "waiting for turn of crank"), gm.ToString());
        }
예제 #3
0
        public void CanSetHasQuarterState()
        {
            var  strState = "waiting for turn of crank";
            uint gumballs = 0;
            var  testStr  = GetGumballMachineTestParsedString(gumballs, strState);
            var  gM       = new GumballMachineContext();

            gM.SetHasQuarterState();
            Assert.AreEqual(gM.GetBallCount(), (uint)0);
            Assert.AreEqual(gM.ToString(), testStr);
        }