public void coinMechanisimTests() { CoinDisplayManager manager = CoinDisplayManager.getCoinDisplaymanager(); const int quarterValue = 1; const int dimeValue = 0; var mech1 = CoinDisplayManager.CoinMechs.Mech1; var mech2 = CoinDisplayManager.CoinMechs.Mech2; var mechNone = CoinDisplayManager.CoinMechs.None; CoinDisplayManager.CoinMechs[] mechs = new CoinDisplayManager.CoinMechs[] { mech1, mech2, mechNone }; // Test All Mechs with quarter foreach (var mech in mechs) { // Players coin is a quarter manager.CreateNewRandomCoin(); while (!manager.isPlayerCoinAQuarter()) { manager.CreateNewRandomCoin(); } if (mech != mechNone) { Assert.AreEqual(quarterValue, manager.InsertCoin(mech)); } else { Assert.AreEqual(0, manager.InsertCoin(mech)); } } // Test All Mechs with dime foreach (var mech in mechs) { // Players coin is a quarter manager.CreateNewRandomCoin(); while (manager.isPlayerCoinAQuarter()) { manager.CreateNewRandomCoin(); } if (mech != mechNone) { Assert.AreEqual(dimeValue, manager.InsertCoin(mech)); } else { Assert.AreEqual(0, manager.InsertCoin(mech)); } } // At this point, both slots should have one dime in them Assert.AreEqual(1, manager.getNumberCoinsInReturn(mech1)); Assert.AreEqual(1, manager.getNumberCoinsInReturn(mech2)); }
public void GrabReturnedCoinWhileHoldingCoin() { CoinDisplayManager manager = CoinDisplayManager.getCoinDisplaymanager(); var mech1 = CoinDisplayManager.CoinMechs.Mech1; var mech2 = CoinDisplayManager.CoinMechs.Mech2; CoinDisplayManager.CoinMechs[] mechs = new CoinDisplayManager.CoinMechs[] { mech1, mech2 }; foreach (var mech in mechs) { manager.DropCoin(); //grab dime from the pile manager.CreateNewRandomCoin(); while (manager.isPlayerCoinAQuarter()) { manager.CreateNewRandomCoin(); } manager.InsertCoin(mech); // grab a quarter manager.CreateNewRandomCoin(); while (!manager.isPlayerCoinAQuarter()) { manager.CreateNewRandomCoin(); } manager.ProcessCoinReturnClick(mech); Assert.IsTrue(manager.isPlayerCoinAQuarter()); // player coin should still be a quarter Assert.AreEqual(1, manager.getNumberCoinsInReturn(mech)); // coins in mech should be 1; } }
/** * Mouse Down for coin pile click and drag */ private void GameBoxForm_MouseDown(object sender, MouseEventArgs e) { if (coinManager.IsOverCoinPile(e.X, e.Y)) { coinManager.ProcessPileClicked(); } CoinDisplayManager.CoinMechs slotClicked = coinManager.GetCoinSlotIsOver(e.X, e.Y); int creditsReceived = coinManager.InsertCoin(slotClicked); credit.AddCredit(creditsReceived); CoinDisplayManager.CoinMechs coinReturnClicked = coinManager.GetCoinReturnIsOver(e.X, e.Y); coinManager.ProcessCoinReturnClick(coinReturnClicked); Refresh(); }
public void MultipleCoinsInMechTest() { CoinDisplayManager manager = CoinDisplayManager.getCoinDisplaymanager(); var mech1 = CoinDisplayManager.CoinMechs.Mech1; var mech2 = CoinDisplayManager.CoinMechs.Mech2; int iterations = 10; CoinDisplayManager.CoinMechs[] mechs = new CoinDisplayManager.CoinMechs[] { mech1, mech2 }; foreach (var mech in mechs) { for (int i = 0; i < iterations; ++i) { // Grab a dime from the pile manager.CreateNewRandomCoin(); while (manager.isPlayerCoinAQuarter()) { manager.CreateNewRandomCoin(); } manager.InsertCoin(mech); } Assert.AreEqual(iterations, manager.getNumberCoinsInReturn(mech)); } // Remove all coins from the returns foreach (var mech in mechs) { for (int i = 0; i < iterations; ++i) { manager.ProcessCoinReturnClick(mech); manager.DropCoin(); } Assert.AreEqual(0, manager.getNumberCoinsInReturn(mech)); } }