Esempio n. 1
0
        public void TestCartHasAccessPerTime()
        {
            ICartDTO         dto    = new CommonFiveTimesCartDTO();
            CommonCartFabric fabric = new CommonCartFabric();
            IBaseCartModel   card   = fabric.create(dto);

            Assert.IsTrue(card.HasAccess());
        }
        public void TestCardHasCorrectType()
        {
            ICartDTO         dto    = new CommonOneDayCartDTO();
            CommonCartFabric fabric = new CommonCartFabric();
            IBaseCartModel   card   = fabric.create(dto);

            Assert.IsTrue(card.GetCartType() == Terminal.CART_TYPE_BY_DAY);
        }
Esempio n. 3
0
        public void TestBlockUnblockCard()
        {
            ICartDTO         dto    = new CommonFiveTimesCartDTO();
            CommonCartFabric fabric = new CommonCartFabric();
            IBaseCartModel   card   = fabric.create(dto);

            Assert.IsTrue(card.HasAccess());

            card.Block();
            Assert.IsFalse(card.HasAccess());

            card.UnBlock();
            Assert.IsTrue(card.HasAccess());
        }
        public void TestWithdraw()
        {
            ICartDTO           dto    = new CommonOneDayCartDTO();
            CommonCartFabric   fabric = new CommonCartFabric();
            CommonDayCartModel card   = (CommonDayCartModel)fabric.create(dto);

            Assert.IsTrue(card.HasAccess());

            // two days later
            DateTime curDay = DateTime.Now;

            card.startDayTime = curDay.AddDays(-2);

            Assert.IsFalse(card.HasAccess());
        }
Esempio n. 5
0
        public IBaseCartModel Create(ICartDTO cartDto)
        {
            ICartFabric    fabric;
            IBaseCartModel model;

            if (cartDto.isCommon)
            {
                fabric = new CommonCartFabric();
                model  = fabric.create(cartDto);
            }
            //else if (cartDto.isDiscount)
            //{
            //    fabric = new DiscountCartFabric();
            //    model = fabric.create(cartDto);
            //}
            else
            {
                throw new ArgumentException();
            }

            state.Add(model.ID.ToString(), model);

            return(model);
        }