Skip to content

Commit 9bdf884

Browse files
committed
Enhance the tests to check for returned content
1 parent 702be71 commit 9bdf884

File tree

1 file changed

+45
-14
lines changed

1 file changed

+45
-14
lines changed

FluentMigrator.BatchParser.Tests/RangeSearcherTests.cs

+45-14
Original file line numberDiff line numberDiff line change
@@ -245,80 +245,111 @@ public void TestMultiLineCommentWithMultipleLines(string input, string expected)
245245
}
246246
}
247247

248-
[TestCase(" -- qweqwe", " qweqwe")]
249-
[TestCase(" -- qwe\nqwe", " qwe")]
250-
public void TestDoubleDashSingleLineComment(string input, string expected)
248+
[TestCase(" -- qweqwe", " qweqwe", " ")]
249+
[TestCase(" -- qwe\nqwe", " qwe", " \nqwe")]
250+
[TestCase("asd -- qwe\nqwe", " qwe", "asd \nqwe")]
251+
public void TestDoubleDashSingleLineComment(string input, string expectedComment, string expectedOther)
251252
{
252253
var source = new TextReaderSource(new StringReader(input));
253254
var reader = source.CreateReader();
254255
Assert.IsNotNull(reader);
255256

256-
var content = new StringBuilder();
257-
var writer = new StringWriter(content)
257+
var commentContent = new StringBuilder();
258+
var commentWriter = new StringWriter(commentContent)
258259
{
259260
NewLine = "\n",
260261
};
261262

263+
var otherContent = new StringBuilder();
264+
var otherWriter = new StringWriter(otherContent)
265+
{
266+
NewLine = "\n",
267+
};
268+
269+
var addNewLine = false;
262270
var rangeSearcher = new DoubleDashSingleLineComment();
263271
while (reader != null)
264272
{
273+
if (addNewLine)
274+
otherWriter.WriteLine();
275+
265276
var startIndex = rangeSearcher.FindStartCode(reader);
266277
if (startIndex == -1)
267278
{
279+
otherWriter.Write(reader.ReadString(reader.Length));
280+
addNewLine = true;
268281
reader = reader.Advance(reader.Length);
269282
continue;
270283
}
271284

285+
otherWriter.Write(reader.ReadString(startIndex));
272286
reader = reader.Advance(startIndex + rangeSearcher.StartCodeLength);
273287
Assert.IsNotNull(reader);
274288

275289
var endInfo = rangeSearcher.FindEndCode(reader);
276290
Assert.IsNotNull(endInfo);
277291

278292
var contentLength = endInfo.Index - reader.Index;
279-
writer.Write(reader.ReadString(contentLength));
293+
commentWriter.Write(reader.ReadString(contentLength));
294+
addNewLine = (contentLength + rangeSearcher.EndCodeLength) == reader.Length;
280295
reader = reader.Advance(contentLength + rangeSearcher.EndCodeLength);
281296
}
282297

283-
Assert.AreEqual(expected, content.ToString());
298+
Assert.AreEqual(expectedComment, commentContent.ToString());
299+
Assert.AreEqual(expectedOther, otherContent.ToString());
284300
}
285301

286-
[TestCase(" # qweqwe", " qweqwe")]
287-
[TestCase(" # qwe\nqwe", " qwe")]
288-
public void TestPoundSignSingleLineComment(string input, string expected)
302+
[TestCase(" # qweqwe", " qweqwe", " ")]
303+
[TestCase(" # qwe\nqwe", " qwe", " \nqwe")]
304+
public void TestPoundSignSingleLineComment(string input, string expectedComment, string expectedOther)
289305
{
290306
var source = new TextReaderSource(new StringReader(input));
291307
var reader = source.CreateReader();
292308
Assert.IsNotNull(reader);
293309

294-
var content = new StringBuilder();
295-
var writer = new StringWriter(content)
310+
var commentContent = new StringBuilder();
311+
var commentWriter = new StringWriter(commentContent)
296312
{
297313
NewLine = "\n",
298314
};
299315

316+
var otherContent = new StringBuilder();
317+
var otherWriter = new StringWriter(otherContent)
318+
{
319+
NewLine = "\n",
320+
};
321+
322+
var addNewLine = false;
300323
var rangeSearcher = new PoundSignSingleLineComment();
301324
while (reader != null)
302325
{
326+
if (addNewLine)
327+
otherWriter.WriteLine();
328+
303329
var startIndex = rangeSearcher.FindStartCode(reader);
304330
if (startIndex == -1)
305331
{
332+
otherWriter.Write(reader.ReadString(reader.Length));
333+
addNewLine = true;
306334
reader = reader.Advance(reader.Length);
307335
continue;
308336
}
309337

338+
otherWriter.Write(reader.ReadString(startIndex));
310339
reader = reader.Advance(startIndex + rangeSearcher.StartCodeLength);
311340
Assert.IsNotNull(reader);
312341

313342
var endInfo = rangeSearcher.FindEndCode(reader);
314343
Assert.IsNotNull(endInfo);
315344

316345
var contentLength = endInfo.Index - reader.Index;
317-
writer.Write(reader.ReadString(contentLength));
346+
commentWriter.Write(reader.ReadString(contentLength));
347+
addNewLine = (contentLength + rangeSearcher.EndCodeLength) == reader.Length;
318348
reader = reader.Advance(contentLength + rangeSearcher.EndCodeLength);
319349
}
320350

321-
Assert.AreEqual(expected, content.ToString());
351+
Assert.AreEqual(expectedComment, commentContent.ToString());
352+
Assert.AreEqual(expectedOther, otherContent.ToString());
322353
}
323354

324355
[Test]

0 commit comments

Comments
 (0)