public void CanParseBasicRle() { var rle = @" x = 3, y = 3, rule = B3/S23 2bo$o$2o! "; var actualBoard = RleParser.FromRle(rle); var expectedBoard = new[] { new Coordinate(3, 3), new Coordinate(1, 2), new Coordinate(1, 1), new Coordinate(2, 1) }; actualBoard.Should().BeEquivalentTo(expectedBoard); }
public void CanHandleSingleBoardLineSpreadOverMultipleTextFileLines() { var rle = @" x = 3, y = 3, rule = B3/S23 2b o$o$2o! "; var actualBoard = RleParser.FromRle(rle); var expectedBoard = new[] { new Coordinate(3, 3), new Coordinate(1, 2), new Coordinate(1, 1), new Coordinate(2, 1) }; actualBoard.Should().BeEquivalentTo(expectedBoard); }
public void CanHandleBlankRows() { var rle = @" x = 8, y = 10, rule = B3/S23 2bo$o$2o3$3bo2$5bo2$7bo! "; var actualBoard = RleParser.FromRle(rle); var expectedBoard = new[] { new Coordinate(3, 10), new Coordinate(1, 9), new Coordinate(1, 8), new Coordinate(2, 8), new Coordinate(4, 5), new Coordinate(6, 3), new Coordinate(8, 1) }; actualBoard.Should().BeEquivalentTo(expectedBoard); }