public void Refill_InSoldOutState_ShouldRefill() { var gm = new GumballMachineContext(0); Assert.AreEqual(GetGumballMachineString(0, "sold out"), gm.ToString()); sb.Remove(0, sb.Length); gm.Refill(2); Assert.AreEqual((uint)2, gm.GetBallCount()); Assert.AreEqual("Gumballs refilled. Gumballs count: 2\r\n", sw.ToString()); }
public void CanRefillGumballMachineWithAddingMoreThan0GumballsInSoldOutStateAndMoveToNoQuarterState() { var strState = "waiting for quarter"; uint gumballs = 1; var testStr = GetGumballMachineTestParsedString(gumballs, strState); var gM = new GumballMachineContext(); gM.Refill(gumballs); Assert.AreEqual(gM.GetBallCount(), gumballs); Assert.AreEqual(gM.ToString(), testStr); }
public void CanRefillGumballMachineWithAdding0GumballsInSoldOutState() { var strState = "sold out"; uint gumballs = 0; var testStr = GetGumballMachineTestParsedString(gumballs, strState); var gM = new GumballMachineContext(gumballs); gM.Refill(0); Assert.AreEqual(gM.GetBallCount(), gumballs); Assert.AreEqual(gM.ToString(), testStr); }
public void Refill_InNoQuarterState_ShouldRefill() { var gm = new GumballMachineContext(2); Assert.AreEqual(GetGumballMachineString(2, "waiting for quarter"), gm.ToString()); sb.Remove(0, sb.Length); gm.Refill(2); Assert.AreEqual((uint)4, gm.GetBallCount()); Assert.AreEqual("Gumballs refilled. Gumballs count: 4\r\n", sw.ToString()); }
public void CanRefillMachineInHasQuarterState() { var strState = "waiting for turn of crank"; uint gumballs = 2; var testStr = GetGumballMachineTestParsedString(gumballs, strState); var gM = new GumballMachineContext(1); gM.InsertQuarter(); gM.Refill(1); Assert.AreEqual(gM.GetBallCount(), gumballs); Assert.AreEqual(gM.ToString(), testStr); }
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()); }
public void Refill_InHasQuarterState_ShouldRefill_And_NotLostQuarters() { var gm = new GumballMachineContext(2); gm.InsertQuarter(); gm.InsertQuarter(); Assert.AreEqual(GetGumballMachineString(2, "waiting for turn of crank"), gm.ToString()); sb.Remove(0, sb.Length); gm.Refill(2); Assert.AreEqual((uint)4, gm.GetBallCount()); Assert.AreEqual((uint)2, gm.GetQuartersCount()); Assert.AreEqual("Gumballs refilled. Gumballs count: 4\r\n", sw.ToString()); }