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

            gm.SetSoldState();
            Assert.AreEqual(GetGumballMachineString(5, "delivering a gumball"), gm.ToString());
        }
コード例 #2
0
        public void CanSetSoldState()
        {
            var  strState = "delivering a gumball";
            uint gumballs = 0;
            var  testStr  = GetGumballMachineTestParsedString(gumballs, strState);
            var  gM       = new GumballMachineContext();

            gM.SetSoldState();
            Assert.AreEqual(gM.GetBallCount(), (uint)0);
            Assert.AreEqual(gM.ToString(), testStr);
        }
コード例 #3
0
        public void Refill_InSoldState_ShouldNotRefill()
        {
            var gm = new GumballMachineContext(5);

            gm.SetSoldState();

            Assert.AreEqual(GetGumballMachineString(5, "delivering a gumball"), gm.ToString());

            sb.Remove(0, sb.Length);
            gm.Refill(2);
            Assert.AreEqual((uint)5, gm.GetBallCount());
            Assert.AreEqual("Can't refill gumballs when machine is giving you a gumball\r\n", sw.ToString());
        }
コード例 #4
0
        public void GumballMachineInSoldStateTest()
        {
            var stringWriter   = new StringWriter();
            var result         = new StringWriter();
            var gumballMachine = new GumballMachineContext(0, stringWriter);

            gumballMachine.SetSoldState();
            gumballMachine.InsertQuarter();
            result.WriteLine(BaseConstants.INSERT_QUARTER_SOLD_STATE);
            gumballMachine.EjectQuarter();
            result.WriteLine(BaseConstants.EJECT_QUARTER_SOLD_STATE);
            gumballMachine.TurnCrank();
            result.WriteLine(BaseConstants.TURN_CRANK_SOLD_STATE);
            result.WriteLine(BaseConstants.DISPENSE_SOLD_STATE);

            Assert.AreEqual(result.ToString(), stringWriter.ToString());
        }