Example #1
0
        public void ReturnCacheTest()
        {
            VMWallet vwWallet = new VMWallet(new Dictionary <FaceValueTypes, int> {
                { FaceValueTypes.One, 100 },
                { FaceValueTypes.Two, 100 },
                { FaceValueTypes.Five, 100 },
                { FaceValueTypes.Ten, 100 }
            });

            List <Coin> AddingCoins = new List <Coin> {
                new Coin(FaceValueTypes.Ten),
                new Coin(FaceValueTypes.Ten),
                new Coin(FaceValueTypes.Two),
                new Coin(FaceValueTypes.One)
            };

            foreach (var coin in AddingCoins)
            {
                vwWallet.Add(coin);
            }

            Assert.AreEqual(23, vwWallet.MoneyCache);

            List <Coin> returned_coins = vwWallet.ReturnCache();

            Assert.AreEqual(AddingCoins.Count, returned_coins.Count);

            var e1 = AddingCoins.GetEnumerator();
            var e2 = returned_coins.GetEnumerator();

            while (e1.MoveNext() && e2.MoveNext())
            {
                Assert.AreEqual(e1.Current, e2.Current);
            }
        }
        /// <summary>
        /// Пользователь запрашивает сдачу
        /// </summary>
        /// <returns></returns>
        public JsonResult GetChange()
        {
            List <Coin> coins = vwWallet.ReturnCache();

            userWallet.Add(coins);
            return(Json(true, JsonRequestBehavior.AllowGet));
        }