@@ -15,37 +15,36 @@ public void EmptyDiff_NoDiffChunks()
1515 {
1616 var chunks = DiffUtilities . ParseFragment ( "" ) ;
1717
18- Assert . Empty ( chunks ) ;
18+ Assert . That ( chunks , Is . Empty ) ;
1919 }
2020
21- [ Theory ]
22- [ InlineData ( "@@ -1 +1 @@" ) ]
23- [ InlineData ( "@@ -1 +1,0 @@" ) ]
24- [ InlineData ( "@@ -1,0 +1 @@" ) ]
25- [ InlineData ( "@@ -1,0 +1,0 @@" ) ]
26- [ InlineData ( "@@ -1,0 +1,0 @@ THIS IS A COMMENT THAT WILL BE IGNORED" ) ]
27- public void HeaderOnly_OneChunkNoLines ( string header )
21+ [ TestCase ( "@@ -1 +1 @@" ) ]
22+ [ TestCase ( "@@ -1 +1,0 @@" ) ]
23+ [ TestCase ( "@@ -1,0 +1 @@" ) ]
24+ [ TestCase ( "@@ -1,0 +1,0 @@" ) ]
25+ [ TestCase ( "@@ -1,0 +1,0 @@ THIS IS A COMMENT THAT WILL BE IGNORED" ) ]
26+ public void HeaderOnly_OneChunkNoLines ( string header )
2827 {
2928 var chunks = DiffUtilities . ParseFragment ( header ) ;
3029
31- Assert . Single ( chunks ) ;
32- var chunk = chunks . First ( ) ;
33- Assert . Empty ( chunk . Lines ) ;
30+ // Assert.Single(chunks);
31+ var chunk = chunks . First ( ) ;
32+ Assert . That ( chunk . Lines , Is . Empty ) ;
3433 }
3534
36- [ Theory ]
37- [ InlineData ( "@@ -1 +2 @@" , 1 , 2 ) ]
38- [ InlineData ( "@@ -1 +2,0 @@" , 1 , 2 ) ]
39- [ InlineData ( "@@ -1,0 +2 @@" , 1 , 2 ) ]
40- [ InlineData ( "@@ -1,0 +2,0 @@" , 1 , 2 ) ]
41- [ InlineData ( "@@ -1,0 +2,0 @@ THIS IS A COMMENT THAT WILL BE IGNORED" , 1 , 2 ) ]
42- [ InlineData (
35+ [ TestCase ( "@@ -1 +2 @@" , 1 , 2 ) ]
36+ [ TestCase ( "@@ -1 +2,0 @@" , 1 , 2 ) ]
37+ [ TestCase ( "@@ -1,0 +2 @@" , 1 , 2 ) ]
38+ [ TestCase ( "@@ -1,0 +2,0 @@" , 1 , 2 ) ]
39+ [ TestCase ( "@@ -1,0 +2,0 @@ THIS IS A COMMENT THAT WILL BE IGNORED" , 1 , 2 ) ]
40+ [ TestCase (
4341@"diff --git a/src/Foo.cs b/src/Foo.cs
4442index b02decb..f7dadae 100644
4543--- a/src/Foo.cs
4644+++ b/src/Foo.cs
47- @@ -1 +2 @@" , 1 , 2 ) ] // Extra header info when using `Diff.Compare<Patch>`.
48- public void HeaderOnly_OldAndNewLineNumbers ( string header , int expectOldLineNumber , int expectNewLineNumber )
45+ @@ -1 +2 @@" , 1 , 2 ) ]
46+
47+ public void HeaderOnly_OldAndNewLineNumbers ( string header , int expectOldLineNumber , int expectNewLineNumber )
4948 {
5049 var chunks = DiffUtilities . ParseFragment ( header ) ;
5150 var chunk = chunks . First ( ) ;
@@ -64,7 +63,7 @@ public void HeaderOnlyNoNewLineAtEnd_NoLines()
6463 var chunks = DiffUtilities . ParseFragment ( header ) ;
6564
6665 var chunk = chunks . First ( ) ;
67- Assert . Empty ( chunk . Lines ) ;
66+ Assert . That ( chunk . Lines , Is . Empty ) ;
6867 }
6968
7069 [ Test ]
@@ -96,12 +95,11 @@ public void NoNewLineNotAtEndOfChunk_CheckDiffLineNumber()
9695 Assert . AreEqual ( 3 , line . DiffLineNumber ) ;
9796 }
9897
99- [ Theory ]
100- [ InlineData ( "+foo\n +bar\n " , "+foo" , "+bar" ) ]
101- [ InlineData ( "+fo\r o\n +bar\n " , "+fo\r o" , "+bar" ) ]
102- [ InlineData ( "+foo\r \r \n +bar\n " , "+foo\r " , "+bar" ) ]
103- [ InlineData ( "+\\ r\n +\r \n " , "+\\ r" , "+" ) ]
104- public void FirstChunk_CheckLineContent ( string diffLines , string contentLine0 , string contentLine1 )
98+ [ TestCase ( "+foo\n +bar\n " , "+foo" , "+bar" ) ]
99+ [ TestCase ( "+fo\r o\n +bar\n " , "+fo\r o" , "+bar" ) ]
100+ [ TestCase ( "+foo\r \r \n +bar\n " , "+foo\r " , "+bar" ) ]
101+ [ TestCase ( "+\\ r\n +\r \n " , "+\\ r" , "+" ) ]
102+ public void FirstChunk_CheckLineContent ( string diffLines , string contentLine0 , string contentLine1 )
105103 {
106104 var header = "@@ -1 +1 @@" ;
107105 var diff = header + "\n " + diffLines ;
@@ -112,11 +110,10 @@ public void FirstChunk_CheckLineContent(string diffLines, string contentLine0, s
112110 Assert . AreEqual ( contentLine1 , chunk . Lines [ 1 ] . Content ) ;
113111 }
114112
115- [ Theory ]
116- [ InlineData ( "+foo\n +bar\n " , 1 , 2 ) ]
117- [ InlineData ( "+fo\r o\n +bar\n " , 1 , 3 ) ]
118- [ InlineData ( "+foo\r \r \n +bar\n " , 1 , 3 ) ]
119- public void FirstChunk_CheckNewLineNumber ( string diffLines , int lineNumber0 , int lineNumber1 )
113+ [ TestCase ( "+foo\n +bar\n " , 1 , 2 ) ]
114+ [ TestCase ( "+fo\r o\n +bar\n " , 1 , 3 ) ]
115+ [ TestCase ( "+foo\r \r \n +bar\n " , 1 , 3 ) ]
116+ public void FirstChunk_CheckNewLineNumber ( string diffLines , int lineNumber0 , int lineNumber1 )
120117 {
121118 var header = "@@ -1 +1 @@" ;
122119 var diff = header + "\n " + diffLines ;
@@ -127,11 +124,10 @@ public void FirstChunk_CheckNewLineNumber(string diffLines, int lineNumber0, int
127124 Assert . AreEqual ( lineNumber1 , chunk . Lines [ 1 ] . NewLineNumber ) ;
128125 }
129126
130- [ Theory ]
131- [ InlineData ( "-foo\n -bar\n " , 1 , 2 ) ]
132- [ InlineData ( "-fo\r o\n -bar\n " , 1 , 3 ) ]
133- [ InlineData ( "-foo\r \r \n -bar\n " , 1 , 3 ) ]
134- public void FirstChunk_CheckOldLineNumber ( string diffLines , int lineNumber0 , int lineNumber1 )
127+ [ TestCase ( "-foo\n -bar\n " , 1 , 2 ) ]
128+ [ TestCase ( "-fo\r o\n -bar\n " , 1 , 3 ) ]
129+ [ TestCase ( "-foo\r \r \n -bar\n " , 1 , 3 ) ]
130+ public void FirstChunk_CheckOldLineNumber ( string diffLines , int lineNumber0 , int lineNumber1 )
135131 {
136132 var header = "@@ -1 +1 @@" ;
137133 var diff = header + "\n " + diffLines ;
@@ -153,9 +149,8 @@ public void FirstChunk_CheckDiffLineZeroBased()
153149 Assert . AreEqual ( expectDiffLine , chunk . DiffLine ) ;
154150 }
155151
156- [ Theory ]
157- [ InlineData ( 1 , 2 ) ]
158- public void FirstChunk_CheckLineNumbers ( int oldLineNumber , int newLineNumber )
152+ [ TestCase ( 1 , 2 ) ]
153+ public void FirstChunk_CheckLineNumbers ( int oldLineNumber , int newLineNumber )
159154 {
160155 var header = $ "@@ -{ oldLineNumber } +{ newLineNumber } @@";
161156
@@ -165,11 +160,10 @@ public void FirstChunk_CheckLineNumbers(int oldLineNumber, int newLineNumber)
165160 Assert . AreEqual ( newLineNumber , chunk . NewLineNumber ) ;
166161 }
167162
168- [ Theory ]
169- [ InlineData ( 1 , 2 , " 1" , 1 , 2 ) ]
170- [ InlineData ( 1 , 2 , "+1" , - 1 , 2 ) ]
171- [ InlineData ( 1 , 2 , "-1" , 1 , - 1 ) ]
172- public void FirstLine_CheckLineNumbers ( int oldLineNumber , int newLineNumber , string line , int expectOldLineNumber , int expectNewLineNumber )
163+ [ TestCase ( 1 , 2 , " 1" , 1 , 2 ) ]
164+ [ TestCase ( 1 , 2 , "+1" , - 1 , 2 ) ]
165+ [ TestCase ( 1 , 2 , "-1" , 1 , - 1 ) ]
166+ public void FirstLine_CheckLineNumbers ( int oldLineNumber , int newLineNumber , string line , int expectOldLineNumber , int expectNewLineNumber )
173167 {
174168 var header = $ "@@ -{ oldLineNumber } +{ newLineNumber } @@\n { line } ";
175169
@@ -180,11 +174,10 @@ public void FirstLine_CheckLineNumbers(int oldLineNumber, int newLineNumber, str
180174 Assert . AreEqual ( expectNewLineNumber , diffLine . NewLineNumber ) ;
181175 }
182176
183- [ Theory ]
184- [ InlineData ( " 1" , 0 , 1 ) ]
185- [ InlineData ( " 1\n 2" , 1 , 2 ) ]
186- [ InlineData ( " 1\n 2\n 3" , 2 , 3 ) ]
187- public void SkipNLines_CheckDiffLineNumber ( string lines , int skip , int expectDiffLineNumber )
177+ [ TestCase ( " 1" , 0 , 1 ) ]
178+ [ TestCase ( " 1\n 2" , 1 , 2 ) ]
179+ [ TestCase ( " 1\n 2\n 3" , 2 , 3 ) ]
180+ public void SkipNLines_CheckDiffLineNumber ( string lines , int skip , int expectDiffLineNumber )
188181 {
189182 var fragment = $ "@@ -1 +1 @@\n { lines } ";
190183
@@ -194,11 +187,10 @@ public void SkipNLines_CheckDiffLineNumber(string lines, int skip, int expectDif
194187 Assert . AreEqual ( expectDiffLineNumber , firstLine . DiffLineNumber ) ;
195188 }
196189
197- [ Theory ]
198- [ InlineData ( " FIRST" ) ]
199- [ InlineData ( "+FIRST" ) ]
200- [ InlineData ( "-FIRST" ) ]
201- public void FirstLine_CheckToString ( string line )
190+ [ TestCase ( " FIRST" ) ]
191+ [ TestCase ( "+FIRST" ) ]
192+ [ TestCase ( "-FIRST" ) ]
193+ public void FirstLine_CheckToString ( string line )
202194 {
203195 var fragment = $ "@@ -1 +1 @@\n { line } ";
204196 var result = DiffUtilities . ParseFragment ( fragment ) ;
@@ -209,11 +201,10 @@ public void FirstLine_CheckToString(string line)
209201 Assert . AreEqual ( line , str ) ;
210202 }
211203
212- [ Theory ]
213- [ InlineData ( " FIRST" ) ]
214- [ InlineData ( "+FIRST" ) ]
215- [ InlineData ( "-FIRST" ) ]
216- public void FirstLine_CheckContent ( string line )
204+ [ TestCase ( " FIRST" ) ]
205+ [ TestCase ( "+FIRST" ) ]
206+ [ TestCase ( "-FIRST" ) ]
207+ public void FirstLine_CheckContent ( string line )
217208 {
218209 var fragment = $ "@@ -1,4 +1,4 @@\n { line } ";
219210
@@ -223,11 +214,10 @@ public void FirstLine_CheckContent(string line)
223214 Assert . AreEqual ( line , firstLine . Content ) ;
224215 }
225216
226- [ Theory ]
227- [ InlineData ( " FIRST" , DiffChangeType . None ) ]
228- [ InlineData ( "+FIRST" , DiffChangeType . Add ) ]
229- [ InlineData ( "-FIRST" , DiffChangeType . Delete ) ]
230- public void FirstLine_CheckDiffChangeTypes ( string line , DiffChangeType expectType )
217+ [ TestCase ( " FIRST" , DiffChangeType . None ) ]
218+ [ TestCase ( "+FIRST" , DiffChangeType . Add ) ]
219+ [ TestCase ( "-FIRST" , DiffChangeType . Delete ) ]
220+ public void FirstLine_CheckDiffChangeTypes ( string line , DiffChangeType expectType )
231221 {
232222 var fragment = $ "@@ -1 +1 @@\n { line } ";
233223
@@ -237,9 +227,8 @@ public void FirstLine_CheckDiffChangeTypes(string line, DiffChangeType expectTyp
237227 Assert . AreEqual ( expectType , firstLine . Type ) ;
238228 }
239229
240- [ Theory ]
241- [ InlineData ( "?FIRST" , "Invalid diff line change char: '?'." ) ]
242- public void InvalidDiffLineChangeChar ( string line , string expectMessage )
230+ [ TestCase ( "?FIRST" , "Invalid diff line change char: '?'." ) ]
231+ public void InvalidDiffLineChangeChar ( string line , string expectMessage )
243232 {
244233 var fragment = $ "@@ -1,4 +1,4 @@\n { line } ";
245234
@@ -255,25 +244,24 @@ public class TheMatchMethod
255244 /// <param name="diffLines">Target diff chunk with header (with '.' as line separator)</param>
256245 /// <param name="matchLines">Diff lines to match (with '.' as line separator)</param>
257246 /// <param name="expectedDiffLineNumber">The DiffLineNumber that the last line of matchLines falls on</param>
258- [ Theory ]
259- [ InlineData ( " 1" , " 1" , 1 ) ]
260- [ InlineData ( " 1. 2" , " 2" , 2 ) ]
261- [ InlineData ( " 1. 1" , " 1" , 2 ) ] // match the later line
262- [ InlineData ( "+x" , "-x" , - 1 ) ]
263- [ InlineData ( "" , " x" , - 1 ) ]
264- [ InlineData ( " x" , "" , - 1 ) ]
265-
266- [ InlineData ( " 1. 2." , " 1. 2." , 2 ) ] // matched full context
267- [ InlineData ( " 1. 2." , " 3. 2." , - 1 ) ] // didn't match full context
268- [ InlineData ( " 2." , " 1. 2." , 1 ) ] // match if we run out of context lines
247+ [ TestCase ( " 1" , " 1" , 1 ) ]
248+ [ TestCase ( " 1. 2" , " 2" , 2 ) ]
249+ [ TestCase ( " 1. 1" , " 1" , 2 ) ] // match the later line
250+ [ TestCase ( "+x" , "-x" , - 1 ) ]
251+ [ TestCase ( "" , " x" , - 1 ) ]
252+ [ TestCase ( " x" , "" , - 1 ) ]
253+
254+ [ TestCase ( " 1. 2." , " 1. 2." , 2 ) ] // matched full context
255+ [ TestCase ( " 1. 2." , " 3. 2." , - 1 ) ] // didn't match full context
256+ [ TestCase ( " 2." , " 1. 2." , 1 ) ] // match if we run out of context lines
269257
270258 // Tests for https://github.com/github/VisualStudio/issues/1149
271259 // Matching algorithm got confused when there was a partial match.
272- [ InlineData ( "+a.+x.+x." , "+a.+x." , 2 ) ]
273- [ InlineData ( "+a.+x.+x." , "+a.+x.+x." , 3 ) ]
274- [ InlineData ( "+a.+x.+x.+b.+x.+x." , "+a.+x." , 2 ) ]
275- [ InlineData ( "+a.+x.+x.+b.+x.+x." , "+b.+x." , 5 ) ]
276- [ InlineData ( "+a.+b.+x" , "+a.+x." , - 1 ) ] // backtrack when there is a failed match
260+ [ TestCase ( "+a.+x.+x." , "+a.+x." , 2 ) ]
261+ [ TestCase ( "+a.+x.+x." , "+a.+x.+x." , 3 ) ]
262+ [ TestCase ( "+a.+x.+x.+b.+x.+x." , "+a.+x." , 2 ) ]
263+ [ TestCase ( "+a.+x.+x.+b.+x.+x." , "+b.+x." , 5 ) ]
264+ [ TestCase ( "+a.+b.+x" , "+a.+x." , - 1 ) ] // backtrack when there is a failed match
277265 public void MatchLine ( string diffLines , string matchLines , int expectedDiffLineNumber /* -1 for no match */ )
278266 {
279267 var header = "@@ -1 +1 @@" ;
@@ -318,19 +306,18 @@ public void NoLineMatchesFromNoLines()
318306
319307 public class TheLineReaderClass
320308 {
321- [ Theory ]
322- [ InlineData ( "" , new [ ] { "" , null } ) ]
323- [ InlineData ( "\n " , new [ ] { "" , null } ) ]
324- [ InlineData ( "\r \n " , new [ ] { "" , null } ) ]
325- [ InlineData ( "1" , new [ ] { "1" , null } ) ]
326- [ InlineData ( "1\n 2\n " , new [ ] { "1" , "2" , null } ) ]
327- [ InlineData ( "1\n 2" , new [ ] { "1" , "2" , null } ) ]
328- [ InlineData ( "1\r \n 2\n " , new [ ] { "1" , "2" , null } ) ]
329- [ InlineData ( "1\r \n 2" , new [ ] { "1" , "2" , null } ) ]
330- [ InlineData ( "\r " , new [ ] { "\r " , null } ) ]
331- [ InlineData ( "\r \r " , new [ ] { "\r \r " , null } ) ]
332- [ InlineData ( "\r \r \n " , new [ ] { "\r " , null } ) ]
333- [ InlineData ( "\r _\n " , new [ ] { "\r _" , null } ) ]
309+ [ TestCase ( "" , new [ ] { "" , null } ) ]
310+ [ TestCase ( "\n " , new [ ] { "" , null } ) ]
311+ [ TestCase ( "\r \n " , new [ ] { "" , null } ) ]
312+ [ TestCase ( "1" , new [ ] { "1" , null } ) ]
313+ [ TestCase ( "1\n 2\n " , new [ ] { "1" , "2" , null } ) ]
314+ [ TestCase ( "1\n 2" , new [ ] { "1" , "2" , null } ) ]
315+ [ TestCase ( "1\r \n 2\n " , new [ ] { "1" , "2" , null } ) ]
316+ [ TestCase ( "1\r \n 2" , new [ ] { "1" , "2" , null } ) ]
317+ [ TestCase ( "\r " , new [ ] { "\r " , null } ) ]
318+ [ TestCase ( "\r \r " , new [ ] { "\r \r " , null } ) ]
319+ [ TestCase ( "\r \r \n " , new [ ] { "\r " , null } ) ]
320+ [ TestCase ( "\r _\n " , new [ ] { "\r _" , null } ) ]
334321 public void ReadLines ( string text , string [ ] expectLines )
335322 {
336323 var lineReader = new DiffUtilities . LineReader ( text ) ;
@@ -348,12 +335,11 @@ public void Constructor_NullText_ArgumentNullException()
348335 Assert . Throws < ArgumentNullException > ( ( ) => new DiffUtilities . LineReader ( null ) ) ;
349336 }
350337
351- [ Theory ]
352- [ InlineData ( "" , 0 ) ]
353- [ InlineData ( "\r " , 1 ) ]
354- [ InlineData ( "\r \n " , 1 ) ]
355- [ InlineData ( "\r \r " , 2 ) ]
356- [ InlineData ( "\r -\r " , 2 ) ]
338+ [ TestCase ( "" , 0 ) ]
339+ [ TestCase ( "\r " , 1 ) ]
340+ [ TestCase ( "\r \n " , 1 ) ]
341+ [ TestCase ( "\r \r " , 2 ) ]
342+ [ TestCase ( "\r -\r " , 2 ) ]
357343 public void CountCarriageReturns ( string text , int expectCount )
358344 {
359345 var count = DiffUtilities . LineReader . CountCarriageReturns ( text ) ;
0 commit comments