1212using Rubberduck . VBEditor ;
1313using Rubberduck . VBEditor . Extensions ;
1414using Rubberduck . VBEditor . VBEInterfaces . RubberduckCodePane ;
15+ using RubberduckTests . Mocks ;
1516
1617namespace RubberduckTests . Refactoring
1718{
@@ -1570,7 +1571,7 @@ public void Presenter_Accept_AutoMarksSingleParamAsRemoved()
15701571 }
15711572
15721573 [ TestMethod ]
1573- public void Presenter_NoParams ( )
1574+ public void Presenter_ParameterlessTargetReturnsNullModel ( )
15741575 {
15751576 //Input
15761577 const string inputCode =
@@ -1579,72 +1580,88 @@ public void Presenter_NoParams()
15791580 var selection = new Selection ( 1 , 15 , 1 , 15 ) ; //startLine, startCol, endLine, endCol
15801581
15811582 //Arrange
1582- var project = SetupMockProject ( inputCode ) ;
1583+ var builder = new MockVbeBuilder ( ) ;
1584+ var projectBuilder = builder . ProjectBuilder ( "TestProject1" , vbext_ProjectProtection . vbext_pp_none ) ;
1585+ projectBuilder . AddComponent ( "Module1" , vbext_ComponentType . vbext_ct_StdModule , inputCode ) ;
1586+ var project = projectBuilder . Build ( ) ;
1587+ builder . AddProject ( project ) ;
1588+
15831589 var codePaneFactory = new RubberduckCodePaneFactory ( ) ;
15841590 var parseResult = new RubberduckParser ( codePaneFactory ) . Parse ( project . Object ) ;
15851591
1586- var qualifiedSelection = GetQualifiedSelection ( selection ) ;
1592+ var codePane = project . Object . VBComponents . Item ( 0 ) . CodeModule . CodePane ;
1593+ var qualifiedSelection = new QualifiedSelection ( new QualifiedModuleName ( codePane . CodeModule . Parent ) , selection , codePaneFactory ) ;
15871594
15881595 var editor = new Mock < IActiveCodePaneEditor > ( ) ;
15891596 editor . Setup ( e => e . GetSelection ( ) ) . Returns ( qualifiedSelection ) ;
15901597
15911598 var messageBox = new Mock < IMessageBox > ( ) ;
15921599 messageBox . Setup ( m => m . Show ( It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < MessageBoxButtons > ( ) , It . IsAny < MessageBoxIcon > ( ) ) ) . Returns ( DialogResult . OK ) ;
15931600
1594- var factory = new RemoveParametersPresenterFactory ( editor . Object , null ,
1595- parseResult , messageBox . Object ) ;
1596-
1601+ var factory = new RemoveParametersPresenterFactory ( editor . Object , null , parseResult , messageBox . Object ) ;
15971602 var presenter = factory . Create ( ) ;
15981603
15991604 Assert . AreEqual ( null , presenter . Show ( ) ) ;
16001605 }
16011606
16021607 [ TestMethod ]
1603- public void Presenter_TargetIsNull ( )
1608+ public void Presenter_NullTargetReturnsNullModel ( )
16041609 {
16051610 //Input
16061611 const string inputCode =
16071612@"
16081613Private Sub Foo(ByVal arg1 As Integer, ByVal arg2 As String)
16091614End Sub" ;
1610- var selection = new Selection ( 1 , 1 , 1 , 1 ) ; //startLine, startCol, endLine, endCol
1615+ var selection = Selection . Home ;
16111616
16121617 //Arrange
1613- var project = SetupMockProject ( inputCode ) ;
1618+ var builder = new MockVbeBuilder ( ) ;
1619+ var projectBuilder = builder . ProjectBuilder ( "TestProject1" , vbext_ProjectProtection . vbext_pp_none ) ;
1620+ projectBuilder . AddComponent ( "Module1" , vbext_ComponentType . vbext_ct_StdModule , inputCode ) ;
1621+ var project = projectBuilder . Build ( ) ;
1622+ builder . AddProject ( project ) ;
1623+
16141624 var codePaneFactory = new RubberduckCodePaneFactory ( ) ;
16151625 var parseResult = new RubberduckParser ( codePaneFactory ) . Parse ( project . Object ) ;
16161626
1617- var qualifiedSelection = GetQualifiedSelection ( selection ) ;
1627+ var codePane = project . Object . VBComponents . Item ( 0 ) . CodeModule . CodePane ;
1628+ var ext = codePaneFactory . Create ( codePane ) ;
1629+ ext . Selection = selection ;
1630+
1631+ var qualifiedSelection = new QualifiedSelection ( new QualifiedModuleName ( codePane . CodeModule . Parent ) , selection , codePaneFactory ) ;
16181632
16191633 var editor = new Mock < IActiveCodePaneEditor > ( ) ;
16201634 editor . Setup ( e => e . GetSelection ( ) ) . Returns ( qualifiedSelection ) ;
16211635
1622- var factory = new RemoveParametersPresenterFactory ( editor . Object , null ,
1623- parseResult , null ) ;
1636+ var factory = new RemoveParametersPresenterFactory ( editor . Object , null , parseResult , null ) ;
16241637
16251638 var presenter = factory . Create ( ) ;
16261639
16271640 Assert . AreEqual ( null , presenter . Show ( ) ) ;
16281641 }
16291642
16301643 [ TestMethod ]
1631- public void Factory_SelectionIsNull ( )
1644+ public void Factory_NullSelectionNullReturnsNullPresenter ( )
16321645 {
16331646 //Input
16341647 const string inputCode =
16351648@"Private Sub Foo()
16361649End Sub" ;
16371650
16381651 //Arrange
1639- var project = SetupMockProject ( inputCode ) ;
1652+ var builder = new MockVbeBuilder ( ) ;
1653+ var projectBuilder = builder . ProjectBuilder ( "TestProject1" , vbext_ProjectProtection . vbext_pp_none ) ;
1654+ projectBuilder . AddComponent ( "Module1" , vbext_ComponentType . vbext_ct_StdModule , inputCode ) ;
1655+ var project = projectBuilder . Build ( ) ;
1656+ builder . AddProject ( project ) ;
1657+
16401658 var codePaneFactory = new RubberduckCodePaneFactory ( ) ;
16411659 var parseResult = new RubberduckParser ( codePaneFactory ) . Parse ( project . Object ) ;
16421660
16431661 var editor = new Mock < IActiveCodePaneEditor > ( ) ;
16441662 editor . Setup ( e => e . GetSelection ( ) ) . Returns ( ( QualifiedSelection ? ) null ) ;
16451663
1646- var factory = new RemoveParametersPresenterFactory ( editor . Object , null ,
1647- parseResult , null ) ;
1664+ var factory = new RemoveParametersPresenterFactory ( editor . Object , null , parseResult , null ) ;
16481665
16491666 Assert . AreEqual ( null , factory . Create ( ) ) ;
16501667 }
0 commit comments