public void ShouldContainFourElementsWithFourItemOrderDetailsInTheList()
        {
            var order  = new Order(DateTime.Today, TestData.TestCustomer, TestData.orderItemsWithThreeColorsThreeShapes);
            var report = new InvoiceReport(order);
            var result = report.GetItemList();

            var expectedFirstElement  = new InvoiceItem("Circle", 5, 3, 15);
            var expectedSecondElement = new InvoiceItem("Square", 1, 1, 1);
            var expectedThirdElement  = new InvoiceItem("Triangle", 1, 2, 2);
            var expectedForthElement  = new InvoiceItem("Red color surcharge", 2, 1, 2);

            Assert.Equal(4, result.Count);
            Assert.True(IsMatch(expectedFirstElement, result[0]));
            Assert.True(IsMatch(expectedSecondElement, result[1]));
            Assert.True(IsMatch(expectedThirdElement, result[2]));
            Assert.True(IsMatch(expectedForthElement, result[3]));
        }