Example #1
0
        public void Does_Parse_Single_Line_When_Header_Present()
        {
            //Arrange
            _delimiterParserMock.Setup(d => d.HasHeader(It.IsAny <string>())).Returns(true);
            const string line1      = "1;2;3";
            var          testString = $"//;{Environment.NewLine}{line1}";

            //Act
            var parser = new NumberLinesParser(_delimiterParserMock.Object);
            var result = parser.GetLines(testString);

            //Assert
            Assert.AreEqual(1, result.Count());
            Assert.AreEqual(result.Take(1).First(), line1);
        }
Example #2
0
        public void Does_Parse_Multiple_Lines()
        {
            //Arrange
            _delimiterParserMock.Setup(d => d.HasHeader(It.IsAny <string>())).Returns(false);
            const string line1      = "1,2,3";
            const string line2      = "4,5";
            const string line3      = "2";
            var          testString = $"{line1}{Environment.NewLine}{line2}{Environment.NewLine}{line3}";

            //Act
            var parser = new NumberLinesParser(_delimiterParserMock.Object);
            var result = parser.GetLines(testString);

            //Assert
            Assert.AreEqual(3, result.Count());
            Assert.AreEqual(result.Take(1).First(), line1);
            Assert.AreEqual(result.Skip(1).Take(1).First(), line2);
            Assert.AreEqual(result.Skip(2).Take(1).First(), line3);
        }