コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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);
        }