public void When_TryToBuyNotExistingBook_Expect_Exception()
        {
            var store = new JsonInMemoryStoreRepository(Setup.GetRealJsonSchema, null);

            store.Import(Setup.GetRealStoreJson);

            Assert.Throws <ArgumentException>(() => store.Buy("Jules Verne - Journey to the Center of the Earth"));
        }
Esempio n. 2
0
        public void When_CalculateBasket_Expect_CorrectResult()
        {
            JsonInMemoryStoreRepository store = Setup.InitFullStore();

            double quantity = store.Buy(
                "J.K Rowling - Goblet Of fire",
                "Isaac Asimov - Foundation");

            Assert.AreEqual(24, quantity);
        }
Esempio n. 3
0
        public void When_CalculateBasketMultipleBooks_Expect_OnlyFirstBookHaveDiscount()
        {
            JsonInMemoryStoreRepository store = Setup.InitFullStore();

            double quantity = store.Buy(
                "J.K Rowling - Goblet Of fire",
                "Robin Hobb - Assassin Apprentice",
                "Robin Hobb - Assassin Apprentice");

            Assert.AreEqual(30, quantity);
        }
Esempio n. 4
0
        public void When_CalculateBasketMultipleBooks_Expect_OnlyFirstBookHaveDiscount_Example2()
        {
            JsonInMemoryStoreRepository store = Setup.InitFullStore();

            double quantity = store.Buy(
                "Ayn Rand - FountainHead",
                "Isaac Asimov - Foundation",
                "Isaac Asimov - Robot series",
                "J.K Rowling - Goblet Of fire",
                "J.K Rowling - Goblet Of fire",
                "Robin Hobb - Assassin Apprentice",
                "Robin Hobb - Assassin Apprentice");

            Assert.AreEqual(69.95, quantity);
        }
        public void When_TryToBuyExistingBooks_Expect_Success()
        {
            decimal expectedPrice = 1.23m;

            var mock = new Mock <IBasketCalculator>();

            mock.Setup(s => s.CalculateCatalogPrice(It.IsAny <IReadOnlyCollection <Catalog> >())).Returns(expectedPrice);

            var store = new JsonInMemoryStoreRepository(Setup.GetRealJsonSchema, mock.Object);

            store.Import(Setup.GetRealStoreJson);

            double basketPrice = store.Buy("Isaac Asimov - Foundation");

            Assert.AreEqual(expectedPrice, basketPrice);
        }
        public void When_TryToBuyButStoreIsEmpty_Expect_Exception()
        {
            var store = new JsonInMemoryStoreRepository("{}", null);

            Assert.Throws <Exception>(() => store.Buy(null));
        }