public void ShouldConvertNonTableDataInCuttingReportIntoASpecificString() { var parser = new ConsoleReportParser(new EmptyTableParser()); var report = new CuttingListReport(TestData.TestOrder); var result = parser.FormatToString(report); var expected = "Your cutting list has been generated:\n" + "Name: Mark Pearl Address: 1 Bob Avenue, Auckland Due Date: 19 Jan 2019 Order #: 0001\n" + ""; Assert.Equal(expected, result); }
public void ShouldTableHeaderContainOneElement() { var report = new CuttingListReport(TestData.TestOrder); var table = report.GetTable(); var result = table.Header; var expectedHeader = new List <string> { "Quantity" }; Assert.Equal(1, result.Count); Assert.Equal(expectedHeader, result); }
public void ShouldTableBodyContainTwoElementsForTwoShapesWithCorrectQuantity() { var order = new Order(TestData.TestDate, TestData.TestCustomer, TestData.orderItemsWithTwoColorsTwoShapes); var report = new CuttingListReport(order); var table = report.GetTable(); var result = table.Body; var expectedQuantityForSquare = new List <int> { 2 }; var expectedQuantityForTriangle = new List <int> { 3 }; Assert.Equal(2, result.Count); Assert.True(result["Square"].SequenceEqual(expectedQuantityForSquare)); Assert.True(result["Triangle"].SequenceEqual(expectedQuantityForTriangle)); }
public void ShouldTableBodyContainThreeElementsForThreeShapesWithCorrectQuantity() { var report = new CuttingListReport(TestData.TestOrder); var table = report.GetTable(); var result = table.Body; var expectedQuantityForCircle = new List <int> { 5 }; var expectedQuantityForSquare = new List <int> { 1 }; var expectedQuantityForTriangle = new List <int> { 1 }; Assert.Equal(3, result.Count); Assert.True(result["Circle"].SequenceEqual(expectedQuantityForCircle)); Assert.True(result["Square"].SequenceEqual(expectedQuantityForSquare)); Assert.True(result["Triangle"].SequenceEqual(expectedQuantityForTriangle)); }
public void ShouldConvertCuttingReportIntoASpecificString() { var formatter = new ConsoleReportParser(new ConsoleTableParser()); var report = new CuttingListReport(TestData.TestOrder); var result = formatter.FormatToString(report); var expected = "Your cutting list has been generated:\n" + "Name: Mark Pearl Address: 1 Bob Avenue, Auckland Due Date: 19 Jan 2019 Order #: 0001\n" + " ----------------------- \n" + " | | Quantity |\n" + " ----------------------- \n" + " | Circle | 5 |\n" + " ----------------------- \n" + " | Square | 1 |\n" + " ----------------------- \n" + " | Triangle | 1 |\n" + " ----------------------- \n\n" + " Count: 3\n"; Assert.Equal(expected, result); }