public void SetNoQuarterState_ShouldSetNoQuarterState()
        {
            var gm = new GumballMachineContext(5);

            gm.SetNoQuarterState();
            Assert.AreEqual(GetGumballMachineString(5, "waiting for quarter"), gm.ToString());
        }
Exemple #2
0
        public void CanSetNoQuarterState()
        {
            var  strState = "waiting for quarter";
            uint gumballs = 0;
            var  testStr  = GetGumballMachineTestParsedString(gumballs, strState);
            var  gM       = new GumballMachineContext();

            gM.SetNoQuarterState();
            Assert.AreEqual(gM.GetBallCount(), (uint)0);
            Assert.AreEqual(gM.ToString(), testStr);
        }
        public void GumballMachineInNoQuarterStateTest()
        {
            var stringWriter = new StringWriter();
            var result       = new StringWriter();
            var hasQuarterStateDescription = $"(Mighty Gumball, Inc.C# - enabled Standing Gumball Model #2019 (with state)Inventory:" +
                                             $" { 10 } gumball{ ( 10 != 1 ? "s" : "" ) } Machine is { BaseConstants.TO_STRING_HAS_QUARTER_STATE })";
            var gumballMachine = new GumballMachineContext(10, stringWriter);

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

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

            gumballMachine.SetNoQuarterState();
            gumballMachine.EjectQuarter();
            result.WriteLine(BaseConstants.EJECT_QUARTER_NO_QUARTER_STATE);
            gumballMachine.TurnCrank();
            result.WriteLine(BaseConstants.TURN_CRANK_NO_QUARTER_STATE);
            result.WriteLine(BaseConstants.DISPENSE_NO_QUARTER_STATE);
            Assert.AreEqual(result.ToString(), stringWriter.ToString());
        }