Inheritance: IShoppingService
コード例 #1
0
        public void Add_Item_To_ShoppingList()
        {
            // Arrange
            var item = new Item("item");
            var shoppingService = new ShoppingService(_sqliteConnection);

            // Act
            shoppingService.AddItem(item);

            // Assert
            Assert.Contains<Item>(shoppingService.Items, x => x == item);
        }
コード例 #2
0
        public void Add_Item()
        {
            // Arrange
            var shoppingService = new ShoppingService(_sqliteConnection);
            var vm = new PastPurchasesViewModel(shoppingService);
            var item = new BoughtItem("item 1");

            // Act
            vm.Add(item);

            // Assert
            Assert.Contains<BoughtItem>(vm.Items, x => x == item);
        }
コード例 #3
0
        void Should_Be_Able_To_Add_Item()
        {
            // Arrange
            var shoppingService = new ShoppingService(_sqliteConnection);
            var vm = new ShoppingListViewModel(shoppingService);
            var item = new Item("some bought item");

            // Act
            vm.Add(item);

            // Assert
            Assert.Contains<Item>(vm.Items, x => x == item);
            Assert.Contains<Item>(shoppingService.Items, x => x == item);
        }
コード例 #4
0
        public void Remove_Item_From_ShoppingList()
        {
            // Arrange
            var item = new Item("item");
            var shoppingService = new ShoppingService(_sqliteConnection);
            shoppingService.AddItem(item);

            // Act
            shoppingService.RemoveItem(item);

            // Assert
            Assert.DoesNotContain<Item>(shoppingService.Items, x => x == item);
            Assert.Contains<BoughtItem>(shoppingService.BoughtItems, x => x.Title == item.Title);
            Assert.Contains<BoughtItem>(shoppingService.BoughtItems, x => x.Title == item.Title && x.BoughtCount == 1);
        }
コード例 #5
0
        public void Copy_Item_To_Shopping_List()
        {
            // Arrange
            var shoppingService = new ShoppingService(_sqliteConnection);
            var vm = new PastPurchasesViewModel(shoppingService);
            var itemTitle = "item1";
            var item = new BoughtItem(itemTitle);
            vm.Add(item);

            // Act
            vm.CopyItemToShoppingList(item);

            // Assert
            Assert.Equal(1, shoppingService.Items.Count);
            Assert.Contains<Item>(shoppingService.Items, x => x.Title == itemTitle);
        }
コード例 #6
0
        public void Add_Item_Already_Added()
        {
            // Arrange
            var shoppingService = new ShoppingService(_sqliteConnection);
            var vm = new PastPurchasesViewModel(shoppingService);
            var item = new BoughtItem("item 1");
            vm.Add(item);
            var item2 = new BoughtItem("item 1");

            // Act
            vm.Add(item);

            // Assert
            Assert.Equal(1, vm.Items.Count);
            Assert.Equal(2, vm.Items.First().BoughtCount);
        }
コード例 #7
0
        public void BoughtItems_Are_Always_Sorted_By_BoughtCount()
        {
            // Arrange
            var item1 = "item 1";
            var item2 = "item 2";
            var item3 = "item 3";
            var shoppingService = new ShoppingService(_sqliteConnection);

            // Act
            shoppingService.AddToBoughtItems(new Item(item1));
            shoppingService.AddToBoughtItems(new Item(item1));
            shoppingService.AddToBoughtItems(new Item(item2));
            shoppingService.AddToBoughtItems(new Item(item3));
            shoppingService.AddToBoughtItems(new Item(item3));
            shoppingService.AddToBoughtItems(new Item(item3));

            // Assert
            var expected = shoppingService.BoughtItems.OrderByDescending(x => x.BoughtCount);
            Assert.Equal(expected, shoppingService.BoughtItems);
        }
コード例 #8
0
        public void TryAdd_Adds_Item_Only_If_Not_Present_On_List()
        {
            // Arrange
            var item1 = "item 1";
            var shoppingService = new ShoppingService(_sqliteConnection);
            shoppingService.AddItem(new Item(item1));

            // Act
            shoppingService.TryAddItemToShoppingList(new Item(item1));

            // Assert
            Assert.Equal(1, shoppingService.Items.Count);
        }