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()); }
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); }