Skip to content

Commit 80dcd31

Browse files
committed
Rubberduck.RegexAssistant.Tests
1 parent a4d6173 commit 80dcd31

File tree

4 files changed

+118
-123
lines changed

4 files changed

+118
-123
lines changed

Rubberduck.RegexAssistant/Tests/CharacterClassTests.cs

Lines changed: 47 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@ public class CharacterClassTests
1111
[TestMethod]
1212
public void InvertedCharacterClass()
1313
{
14-
CharacterClass cut = new CharacterClass("[^ ]", Quantifier.None);
14+
var cut = new CharacterClass("[^ ]", Quantifier.None);
1515
Assert.IsTrue(cut.InverseMatching);
16-
List<string> expectedSpecifiers = new List<string>();
17-
expectedSpecifiers.Add(" ");
16+
var expectedSpecifiers = new List<string> { " " };
1817

1918
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
20-
for (int i = 0; i < expectedSpecifiers.Count; i++)
19+
for (var i = 0; i < expectedSpecifiers.Count; i++)
2120
{
2221
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
2322
}
@@ -27,13 +26,12 @@ public void InvertedCharacterClass()
2726
[TestMethod]
2827
public void SimpleCharacterRange()
2928
{
30-
CharacterClass cut = new CharacterClass("[a-z]", Quantifier.None);
29+
var cut = new CharacterClass("[a-z]", Quantifier.None);
3130
Assert.IsFalse(cut.InverseMatching);
32-
List<string> expectedSpecifiers = new List<string>();
33-
expectedSpecifiers.Add("a-z");
31+
var expectedSpecifiers = new List<string> { "a-z" };
3432

3533
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
36-
for (int i = 0; i < expectedSpecifiers.Count; i++)
34+
for (var i = 0; i < expectedSpecifiers.Count; i++)
3735
{
3836
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
3937
}
@@ -43,13 +41,12 @@ public void SimpleCharacterRange()
4341
[TestMethod]
4442
public void UnicodeCharacterRange()
4543
{
46-
CharacterClass cut = new CharacterClass(@"[\u00A2-\uFFFF]", Quantifier.None);
44+
var cut = new CharacterClass(@"[\u00A2-\uFFFF]", Quantifier.None);
4745
Assert.IsFalse(cut.InverseMatching);
48-
List<string> expectedSpecifiers = new List<string>();
49-
expectedSpecifiers.Add(@"\u00A2-\uFFFF");
46+
var expectedSpecifiers = new List<string> { @"\u00A2-\uFFFF" };
5047

5148
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
52-
for (int i = 0; i < expectedSpecifiers.Count; i++)
49+
for (var i = 0; i < expectedSpecifiers.Count; i++)
5350
{
5451
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
5552
}
@@ -59,13 +56,12 @@ public void UnicodeCharacterRange()
5956
[TestMethod]
6057
public void OctalCharacterRange()
6158
{
62-
CharacterClass cut = new CharacterClass(@"[\011-\777]", Quantifier.None);
59+
var cut = new CharacterClass(@"[\011-\777]", Quantifier.None);
6360
Assert.IsFalse(cut.InverseMatching);
64-
List<string> expectedSpecifiers = new List<string>();
65-
expectedSpecifiers.Add(@"\011-\777");
61+
var expectedSpecifiers = new List<string> { @"\011-\777" };
6662

6763
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
68-
for (int i = 0; i < expectedSpecifiers.Count; i++)
64+
for (var i = 0; i < expectedSpecifiers.Count; i++)
6965
{
7066
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
7167
}
@@ -75,13 +71,12 @@ public void OctalCharacterRange()
7571
[TestMethod]
7672
public void HexadecimalCharacterRange()
7773
{
78-
CharacterClass cut = new CharacterClass(@"[\x00-\xFF]", Quantifier.None);
74+
var cut = new CharacterClass(@"[\x00-\xFF]", Quantifier.None);
7975
Assert.IsFalse(cut.InverseMatching);
80-
List<string> expectedSpecifiers = new List<string>();
81-
expectedSpecifiers.Add(@"\x00-\xFF");
76+
var expectedSpecifiers = new List<string> { @"\x00-\xFF" };
8277

8378
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
84-
for (int i = 0; i < expectedSpecifiers.Count; i++)
79+
for (var i = 0; i < expectedSpecifiers.Count; i++)
8580
{
8681
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
8782
}
@@ -91,14 +86,16 @@ public void HexadecimalCharacterRange()
9186
[TestMethod]
9287
public void MixedCharacterRanges()
9388
{
94-
CharacterClass cut = new CharacterClass(@"[\x00-\777\u001A-Z]", Quantifier.None);
89+
var cut = new CharacterClass(@"[\x00-\777\u001A-Z]", Quantifier.None);
9590
Assert.IsFalse(cut.InverseMatching);
96-
List<string> expectedSpecifiers = new List<string>();
97-
expectedSpecifiers.Add(@"\x00-\777");
98-
expectedSpecifiers.Add(@"\u001A-Z");
91+
var expectedSpecifiers = new List<string>
92+
{
93+
@"\x00-\777",
94+
@"\u001A-Z"
95+
};
9996

10097
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
101-
for (int i = 0; i < expectedSpecifiers.Count; i++)
98+
for (var i = 0; i < expectedSpecifiers.Count; i++)
10299
{
103100
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
104101
}
@@ -108,16 +105,18 @@ public void MixedCharacterRanges()
108105
[TestMethod]
109106
public void RangeFailureWithCharacterClass()
110107
{
111-
foreach (string charClass in new string[]{ @"\D", @"\d", @"\s", @"\S", @"\w", @"\W" }){
112-
CharacterClass cut = new CharacterClass(string.Format("[{0}-F]", charClass), Quantifier.None);
108+
foreach (var charClass in new[]{ @"\D", @"\d", @"\s", @"\S", @"\w", @"\W" }){
109+
var cut = new CharacterClass($"[{charClass}-F]", Quantifier.None);
113110
Assert.IsFalse(cut.InverseMatching);
114-
List<string> expectedSpecifiers = new List<string>();
115-
expectedSpecifiers.Add(charClass);
116-
expectedSpecifiers.Add(@"-");
117-
expectedSpecifiers.Add(@"F");
111+
var expectedSpecifiers = new List<string>
112+
{
113+
charClass,
114+
@"-",
115+
@"F"
116+
};
118117

119118
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
120-
for (int i = 0; i < expectedSpecifiers.Count; i++)
119+
for (var i = 0; i < expectedSpecifiers.Count; i++)
121120
{
122121
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
123122
}
@@ -128,26 +127,25 @@ public void RangeFailureWithCharacterClass()
128127
[TestMethod]
129128
public void EscapedLiteralRanges()
130129
{
131-
foreach (string escapedLiteral in new string[] { @"\.", @"\[", @"\]" })
130+
foreach (var escapedLiteral in new[] { @"\.", @"\[", @"\]" })
132131
{
133-
CharacterClass cut = new CharacterClass(string.Format("[{0}-F]", escapedLiteral), Quantifier.None);
132+
var cut = new CharacterClass($"[{escapedLiteral}-F]", Quantifier.None);
134133
Assert.IsFalse(cut.InverseMatching);
135-
List<string> expectedSpecifiers = new List<string>();
136-
expectedSpecifiers.Add(string.Format("{0}-F",escapedLiteral));
134+
var expectedSpecifiers = new List<string> {$"{escapedLiteral}-F"};
137135

138136
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
139-
for (int i = 0; i < expectedSpecifiers.Count; i++)
137+
for (var i = 0; i < expectedSpecifiers.Count; i++)
140138
{
141139
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
142140
}
143141
// invert this
144-
cut = new CharacterClass(string.Format("[F-{0}]", escapedLiteral), Quantifier.None);
142+
cut = new CharacterClass($"[F-{escapedLiteral}]", Quantifier.None);
145143
Assert.IsFalse(cut.InverseMatching);
146144
expectedSpecifiers.Clear();
147-
expectedSpecifiers.Add(string.Format("F-{0}", escapedLiteral));
145+
expectedSpecifiers.Add($"F-{escapedLiteral}");
148146

149147
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
150-
for (int i = 0; i < expectedSpecifiers.Count; i++)
148+
for (var i = 0; i < expectedSpecifiers.Count; i++)
151149
{
152150
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
153151
}
@@ -158,15 +156,14 @@ public void EscapedLiteralRanges()
158156
[TestMethod]
159157
public void SkipsIncorrectlyEscapedLiterals()
160158
{
161-
foreach (string escapedLiteral in new string[] { @"\(", @"\)", @"\{", @"\}", @"\|", @"\?", @"\*" })
159+
foreach (var escapedLiteral in new[] { @"\(", @"\)", @"\{", @"\}", @"\|", @"\?", @"\*" })
162160
{
163-
CharacterClass cut = new CharacterClass(string.Format("[{0}-F]", escapedLiteral), Quantifier.None);
161+
var cut = new CharacterClass($"[{escapedLiteral}-F]", Quantifier.None);
164162
Assert.IsFalse(cut.InverseMatching);
165-
List<string> expectedSpecifiers = new List<string>();
166-
expectedSpecifiers.Add(string.Format("{0}-F", escapedLiteral.Substring(1)));
163+
var expectedSpecifiers = new List<string> {$"{escapedLiteral.Substring(1)}-F"};
167164

168165
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
169-
for (int i = 0; i < expectedSpecifiers.Count; i++)
166+
for (var i = 0; i < expectedSpecifiers.Count; i++)
170167
{
171168
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
172169
}
@@ -179,11 +176,11 @@ public void SkipsIncorrectlyEscapedLiterals()
179176
[TestMethod]
180177
public void IncorrectlyEscapedRangeTargetLiteralsBlowUp()
181178
{
182-
foreach (string escapedLiteral in new string[] { @"\(", @"\)", @"\{", @"\}", @"\|", @"\?", @"\*" })
179+
foreach (var escapedLiteral in new[] { @"\(", @"\)", @"\{", @"\}", @"\|", @"\?", @"\*" })
183180
{
184181
try
185182
{
186-
CharacterClass cut = new CharacterClass(string.Format("[F-{0}]", escapedLiteral), Quantifier.None);
183+
var cut = new CharacterClass($"[F-{escapedLiteral}]", Quantifier.None);
187184
}
188185
#pragma warning disable CS0168 // Variable is declared but never used
189186
catch (ArgumentException ex)
@@ -200,13 +197,12 @@ public void IncorrectlyEscapedRangeTargetLiteralsBlowUp()
200197
[TestMethod]
201198
public void IgnoresBackreferenceSpecifiers()
202199
{
203-
CharacterClass cut = new CharacterClass(@"[\1]", Quantifier.None);
200+
var cut = new CharacterClass(@"[\1]", Quantifier.None);
204201
Assert.IsFalse(cut.InverseMatching);
205202

206-
List<string> expectedSpecifiers = new List<string>();
207-
expectedSpecifiers.Add("1");
203+
var expectedSpecifiers = new List<string> {"1"};
208204
Assert.AreEqual(expectedSpecifiers.Count, cut.CharacterSpecifiers.Count);
209-
for (int i = 0; i < expectedSpecifiers.Count; i++)
205+
for (var i = 0; i < expectedSpecifiers.Count; i++)
210206
{
211207
Assert.AreEqual(expectedSpecifiers[i], cut.CharacterSpecifiers[i]);
212208
}

Rubberduck.RegexAssistant/Tests/LiteralTests.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ public class LiteralTests
1111
[TestMethod]
1212
public void EscapedLiteralTests()
1313
{
14-
char[] literals = new char[] { '(', ')', '{', '}', '[', ']', '.', '?', '+', '*' };
15-
foreach (char literal in literals)
14+
var literals = new[] { '(', ')', '{', '}', '[', ']', '.', '?', '+', '*' };
15+
foreach (var literal in literals)
1616
{
17-
Literal cut = new Literal("\\" + literal, Quantifier.None);
17+
var cut = new Literal("\\" + literal, Quantifier.None);
1818
Assert.AreEqual("\\" + literal, cut.Specifier);
1919
}
2020
}
@@ -23,10 +23,10 @@ public void EscapedLiteralTests()
2323
[TestMethod]
2424
public void EscapeSequences()
2525
{
26-
char[] escapes = "sSwWbBdDrnvtf123456789".ToCharArray();
27-
foreach (char escape in escapes)
26+
var escapes = "sSwWbBdDrnvtf123456789".ToCharArray();
27+
foreach (var escape in escapes)
2828
{
29-
Literal cut = new Literal("\\" + escape, Quantifier.None);
29+
var cut = new Literal("\\" + escape, Quantifier.None);
3030
Assert.AreEqual("\\" + escape, cut.Specifier);
3131
}
3232
}
@@ -36,9 +36,9 @@ public void EscapeSequences()
3636
public void CodePoints()
3737
{
3838
string[] codePoints = { @"\uFFFF", @"\u0000", @"\xFF", @"\x00", @"\777", @"\000" };
39-
foreach (string codePoint in codePoints)
39+
foreach (var codePoint in codePoints)
4040
{
41-
Literal cut = new Literal(codePoint, Quantifier.None);
41+
var cut = new Literal(codePoint, Quantifier.None);
4242
Assert.AreEqual(codePoint, cut.Specifier);
4343
}
4444
}
@@ -47,10 +47,10 @@ public void CodePoints()
4747
[TestMethod]
4848
public void SimpleLiterals()
4949
{
50-
char[] literals = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"§%&/=ß#'°".ToCharArray();
51-
foreach (char literal in literals)
50+
var literals = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"§%&/=ß#'°".ToCharArray();
51+
foreach (var literal in literals)
5252
{
53-
Literal cut = new Literal("" + literal, Quantifier.None);
53+
var cut = new Literal("" + literal, Quantifier.None);
5454
Assert.AreEqual("" + literal, cut.Specifier);
5555
}
5656
}
@@ -59,13 +59,13 @@ public void SimpleLiterals()
5959
[TestMethod]
6060
public void EverythingElseBlowsUp()
6161
{
62-
char[] allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"§%&/=ß#'°".ToCharArray();
62+
var allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"§%&/=ß#'°".ToCharArray();
6363
string[] allowedEscapes = { "(", ")", "{", "}", "[", "]", ".", "?", "+", "*", "$", "^", "uFFFF", "u0000", "xFF", "x00", "777", "000" };
64-
foreach (string blowup in allowedEscapes.Select(e => "\\"+ e).Concat(allowed.Select(c => ""+c)))
64+
foreach (var blowup in allowedEscapes.Select(e => "\\"+ e).Concat(allowed.Select(c => ""+c)))
6565
{
6666
try
6767
{
68-
Literal cut = new Literal("a"+blowup, Quantifier.None);
68+
var cut = new Literal("a"+blowup, Quantifier.None);
6969
}
7070
#pragma warning disable CS0168 // Variable is declared but never used
7171
catch (ArgumentException ex)
@@ -82,12 +82,12 @@ public void EverythingElseBlowsUp()
8282
[TestMethod]
8383
public void SingleEscapedCharsAreNotParsedAsLiteral()
8484
{
85-
string[] escapedChars = "(){}[]\\*?+$^".ToCharArray().Select(e => e.ToString()).ToArray();
85+
var escapedChars = "(){}[]\\*?+$^".ToCharArray().Select(e => e.ToString()).ToArray();
8686
foreach (var escape in escapedChars)
8787
{
8888
try
8989
{
90-
Literal cut = new Literal(escape, Quantifier.None);
90+
var cut = new Literal(escape, Quantifier.None);
9191
}
9292
#pragma warning disable CS0168 // Variable is declared but never used
9393
catch (ArgumentException ex)

Rubberduck.RegexAssistant/Tests/QuantifierTests.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class QuantifierTests
99
[TestMethod]
1010
public void AsteriskQuantifier()
1111
{
12-
Quantifier cut = new Quantifier("*");
12+
var cut = new Quantifier("*");
1313
Assert.AreEqual(int.MaxValue, cut.MaximumMatches);
1414
Assert.AreEqual(0, cut.MinimumMatches);
1515
Assert.AreEqual(QuantifierKind.Wildcard, cut.Kind);
@@ -19,7 +19,7 @@ public void AsteriskQuantifier()
1919
[TestMethod]
2020
public void QuestionMarkQuantifier()
2121
{
22-
Quantifier cut = new Quantifier("?");
22+
var cut = new Quantifier("?");
2323
Assert.AreEqual(1, cut.MaximumMatches);
2424
Assert.AreEqual(0, cut.MinimumMatches);
2525
Assert.AreEqual(QuantifierKind.Wildcard, cut.Kind);
@@ -29,7 +29,7 @@ public void QuestionMarkQuantifier()
2929
[TestMethod]
3030
public void PlusQuantifier()
3131
{
32-
Quantifier cut = new Quantifier("+");
32+
var cut = new Quantifier("+");
3333
Assert.AreEqual(int.MaxValue, cut.MaximumMatches);
3434
Assert.AreEqual(1, cut.MinimumMatches);
3535
Assert.AreEqual(QuantifierKind.Wildcard, cut.Kind);
@@ -39,7 +39,7 @@ public void PlusQuantifier()
3939
[TestMethod]
4040
public void ExactQuantifier()
4141
{
42-
Quantifier cut = new Quantifier("{5}");
42+
var cut = new Quantifier("{5}");
4343
Assert.AreEqual(5, cut.MaximumMatches);
4444
Assert.AreEqual(5, cut.MinimumMatches);
4545
Assert.AreEqual(QuantifierKind.Expression, cut.Kind);
@@ -49,7 +49,7 @@ public void ExactQuantifier()
4949
[TestMethod]
5050
public void FullRangeQuantifier()
5151
{
52-
Quantifier cut = new Quantifier("{2,5}");
52+
var cut = new Quantifier("{2,5}");
5353
Assert.AreEqual(2, cut.MinimumMatches);
5454
Assert.AreEqual(5, cut.MaximumMatches);
5555
Assert.AreEqual(QuantifierKind.Expression, cut.Kind);
@@ -59,11 +59,10 @@ public void FullRangeQuantifier()
5959
[TestMethod]
6060
public void OpenRangeQuantifier()
6161
{
62-
Quantifier cut = new Quantifier("{3,}");
62+
var cut = new Quantifier("{3,}");
6363
Assert.AreEqual(3, cut.MinimumMatches);
6464
Assert.AreEqual(int.MaxValue, cut.MaximumMatches);
6565
Assert.AreEqual(QuantifierKind.Expression, cut.Kind);
66-
6766
}
6867
}
6968
}

0 commit comments

Comments
 (0)