public void RemoveItem_sets_Item_Order_null() { var order = new Order(); var item = new OrderItem(); order.AddItem(item); order.RemoveItem(item); Assert.IsNull(item.Order); Assert.False(order.Items.Any()); }
public void AddRemoteItem_can_switch_orders() { var order1 = new Order(); var order2 = new Order(); var item = new OrderItem(); order1.AddItem(item); Assert.AreSame(order1, item.Order); Assert.True(order1.Items.Contains(item)); Assert.False(order2.Items.Any()); order1.RemoveItem(item); order2.AddItem(item); Assert.AreSame(order2, item.Order); Assert.True(order2.Items.Contains(item)); Assert.AreEqual(1, order2.Items.Count()); Assert.False(order1.Items.Any()); }