//[InlineData(new MockOrderItem[] { new MockOrderItem(), new MockOrderItem})] public void ItemsShouldContainOnlyAddedItems() { var order = new Order(); var items = new IOrderItems[] { new MocKOrderItem() { Price = 3 }, new MocKOrderItem() { Price = 4 }, new MocKOrderItem() { Price = 7 }, }; foreach (var item in items) { order.Add(item); } Assert.Equal(items.Length, order.Items.Count()); foreach (var item in items) { Assert.Contains(item, order.Items); } }
/// <summary> /// removes an item from the list /// </summary> /// <param name="item">selected item</param> public void Remove(IOrderItems item) { if (item is INotifyPropertyChanged notifier) { notifier.PropertyChanged -= OnItemPropertyChanged; } items.Remove(item); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Items")); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Subtotal")); }
/// <summary> /// this helper method add the item to the list and swaps the screen /// </summary> /// <param name="item">item user clicked to be added</param> /// <param name="screen">sreen to be swapped</param> void AddItemAndOpenCustomizationScreen(IOrderItems item, FrameworkElement screen) { var order = DataContext as Order; if (order == null) { throw new Exception("Data Context expected to be order instance"); } if (screen != null) { var orderControl = this.FindAncestor <OrderControl>(); if (orderControl == null) { throw new Exception("An ancestor of ordercontrol expected"); } screen.DataContext = item; orderControl.SwapScreen(screen); } order.Add(item); }
internal IOrderItems LoadOrderItems() { OrderItems = new OrderItems(Id); }