コード例 #1
0
        public void FinalizeOrderShouldUpdateCashDrawer()
        {
            CashDrawer.ResetDrawer();
            var rvm = new RegisterViewModel();

            rvm.PenniesInDrawer     = 5;
            rvm.NickelsInDrawer     = 4;
            rvm.DimesInDrawer       = 10;
            rvm.QuartersInDrawer    = 4;
            rvm.HalfDollarsInDrawer = 3;
            rvm.DollarsInDrawer     = 0;
            rvm.OnesInDrawer        = 3;
            rvm.TwosInDrawer        = 1;
            rvm.FivesInDrawer       = 0;
            rvm.TensInDrawer        = 2;
            rvm.TwentiesInDrawer    = 0;
            rvm.FiftiesInDrawer     = 3;
            rvm.HundredsInDrawer    = 1;

            rvm.OnesFromCustomer = 2;
            rvm.TwosFromCustomer = 2;

            rvm.MakeChange(5.52);

            rvm.FinalizeOrder();

            Assert.Equal(1, rvm.HundredsInDrawer);
            Assert.Equal(3, rvm.FiftiesInDrawer);
            Assert.Equal(0, rvm.TwentiesInDrawer);
            Assert.Equal(2, rvm.TensInDrawer);
            Assert.Equal(0, rvm.FivesInDrawer);
            Assert.Equal(3, rvm.TwosInDrawer);
            Assert.Equal(5, rvm.OnesInDrawer);
            Assert.Equal(0, rvm.DollarsInDrawer);
            Assert.Equal(3, rvm.HalfDollarsInDrawer);
            Assert.Equal(3, rvm.QuartersInDrawer);
            Assert.Equal(8, rvm.DimesInDrawer);
            Assert.Equal(4, rvm.NickelsInDrawer);
            Assert.Equal(2, rvm.PenniesInDrawer);
        }