Example #1
0
        public IntegerParserResponse Parse(IntegerParserRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var response = new IntegerParserResponse()
            {
                Numbers = new List <string>()
            };

            foreach (var entry in request.DigitalNumbers)
            {
                response.Numbers.Add(ParseEntry(entry));
            }

            return(response);
        }
Example #2
0
        public void Parse_TwoEntries_Successfully()
        {
            IntegerParserRequest request = new IntegerParserRequest()
            {
                DigitalNumbers = new List <DigitalNumbers>()
                {
                    new DigitalNumbers()
                    {
                        Numbers = new List <DigitalNumber>()
                        {
                            new DigitalNumber()
                            {
                                Line1 = "   ",
                                Line2 = "  |",
                                Line3 = "  |"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = " _|",
                                Line3 = "|_ "
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = " _|",
                                Line3 = " _|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = "   ",
                                Line2 = "|_|",
                                Line3 = "  |"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "|_ ",
                                Line3 = " _|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "|_ ",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "  |",
                                Line3 = "  |"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "|_|",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "|_|",
                                Line3 = " _|"
                            },
                        }
                    },
                    new DigitalNumbers()
                    {
                        Numbers = new List <DigitalNumber>()
                        {
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "| |",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = " | ",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "| |",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "| |",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "| |",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "| |",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "| |",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "| |",
                                Line3 = "|_|"
                            },
                            new DigitalNumber()
                            {
                                Line1 = " _ ",
                                Line2 = "| |",
                                Line3 = "|_|"
                            }
                        }
                    },
                }
            };

            var expected = new IntegerParserResponse()
            {
                Numbers = new List <string>()
                {
                    "123456789",
                    "0?0000000"
                }
            };

            var actual = ItemUnderTest.Parse(request);

            Assert.IsNotNull(actual);
            Assert.IsNotNull(actual.Numbers);
            Assert.IsTrue(actual.Numbers.Count == 2);

            //Check Item Values
            var expectedFirstItem = expected.Numbers[0];
            var actualFirstItem   = actual.Numbers[0];

            Assert.AreEqual(expectedFirstItem, actualFirstItem);

            var expectedSecondItem = expected.Numbers[1];
            var actualSecondItem   = actual.Numbers[1];

            Assert.AreEqual(expectedSecondItem, actualSecondItem);
        }