static void Main(string[] args) { var carOrder = new Order(); var carItem = new OrderItem("Audi B4"); var alternativeCarItem = new OrderItem("Mitsubishi Lancer"); var orderItemProcessor = new OrderItemProcessor(); //return multiple results from function using out carOrder.addOrderItem(carItem); int carItemCount; var orderItems = carOrder.getOrderItems(out carItemCount); Console.WriteLine($"Order item count is {carItemCount}", carItemCount); //swap two OrderItem instances using ref printCarTitles("Before swap:", carItem.Title, alternativeCarItem.Title); orderItemProcessor.swapOrderItems(ref carItem, ref alternativeCarItem); printCarTitles("After swap:", carItem.Title, alternativeCarItem.Title); //duplicateOrderItem receives a copy of object reference. original object does not change var duplicateCarItem = orderItemProcessor.duplicateOrderItem(carItem); var isSameObject = carItem.Equals(duplicateCarItem); printCarComparisonResut(isSameObject, carItem.Title, duplicateCarItem.Title); }
public void duplicatesOrderItems() { var carItem = new OrderItem("Audi B4"); var orderItemProcessor = new OrderItemProcessor(); var duplicateCarItem = orderItemProcessor.duplicateOrderItem(carItem); Assert.AreNotEqual(carItem, duplicateCarItem); }