Skip to content

Commit 58a29dd

Browse files
committed
Refactor tests to test only one method each.
1 parent 6c4f5aa commit 58a29dd

File tree

1 file changed

+50
-5
lines changed

1 file changed

+50
-5
lines changed

RubberduckTests/Grammar/SelectionExtensionsTests.cs

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ End If
642642
[TestMethod]
643643
[TestCategory("Grammar")]
644644
[TestCategory("Selection")]
645-
public void Selection_Token_BlankLines_Contains()
645+
public void GivenOnlyBlankLines_EndColumn_Works()
646646
{
647647
const string inputCode = @"
648648
@@ -661,15 +661,38 @@ public void Selection_Token_BlankLines_Contains()
661661

662662
// Reminder: token columns are zero-based but lines are one-based
663663
Assert.IsTrue(startToken.EndColumn() == 0);
664-
Assert.IsTrue(startToken.EndLine() == 1);
665664
Assert.IsTrue(endToken.EndColumn() == 0);
665+
}
666+
667+
[TestMethod]
668+
[TestCategory("Grammar")]
669+
[TestCategory("Selection")]
670+
public void GivenOnlyBlankLines_EndLine_Works()
671+
{
672+
const string inputCode = @"
673+
674+
675+
676+
";
677+
678+
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out var component);
679+
var pane = component.CodeModule.CodePane;
680+
var state = MockParser.CreateAndParse(vbe.Object);
681+
682+
683+
var tree = (Antlr4.Runtime.ParserRuleContext)state.GetParseTree(new QualifiedModuleName(component));
684+
var startToken = tree.Start;
685+
var endToken = tree.Stop;
686+
687+
// Reminder: token columns are zero-based but lines are one-based
688+
Assert.IsTrue(startToken.EndLine() == 1);
666689
Assert.IsTrue(endToken.EndLine() == 4);
667690
}
668-
691+
669692
[TestMethod]
670693
[TestCategory("Grammar")]
671694
[TestCategory("Selection")]
672-
public void Selection_Token_BlankLines_LeadingSpaces_Contains()
695+
public void GivenBlankLinesWithLeadingSpaces_EndColumn_Works()
673696
{
674697
const string inputCode = @"
675698
@@ -687,8 +710,30 @@ public void Selection_Token_BlankLines_LeadingSpaces_Contains()
687710

688711
// Reminder: token columns are zero-based but lines are one-based
689712
Assert.IsTrue(startToken.EndColumn() == 0);
690-
Assert.IsTrue(startToken.EndLine() == 1);
691713
Assert.IsTrue(endToken.EndColumn() == 3);
714+
}
715+
716+
[TestMethod]
717+
[TestCategory("Grammar")]
718+
[TestCategory("Selection")]
719+
public void GivenBlankLinesWithLeadingSpaces_EndLine_Works()
720+
{
721+
const string inputCode = @"
722+
723+
724+
";
725+
726+
var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out var component);
727+
var pane = component.CodeModule.CodePane;
728+
var state = MockParser.CreateAndParse(vbe.Object);
729+
730+
731+
var tree = (Antlr4.Runtime.ParserRuleContext)state.GetParseTree(new QualifiedModuleName(component));
732+
var startToken = tree.Start;
733+
var endToken = tree.Stop;
734+
735+
// Reminder: token columns are zero-based but lines are one-based
736+
Assert.IsTrue(startToken.EndLine() == 1);
692737
Assert.IsTrue(endToken.EndLine() == 3);
693738
}
694739
}

0 commit comments

Comments
 (0)