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); }
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); }