Skip to content

Commit 3943988

Browse files
committed
Clean up MockedCodeExplorer ctors.
1 parent 421c213 commit 3943988

File tree

2 files changed

+20
-38
lines changed

2 files changed

+20
-38
lines changed

RubberduckTests/CodeExplorer/CodeExplorerTests.cs

Lines changed: 14 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818
using RubberduckTests.Mocks;
1919
using Rubberduck.Parsing.UIContext;
2020
using Rubberduck.SettingsProvider;
21-
using Rubberduck.VBEditor.ComManagement;
2221
using Rubberduck.Interaction;
23-
using Rubberduck.Parsing.VBA.DeclarationCaching;
2422
using Rubberduck.UI.UnitTesting.Commands;
2523
using Rubberduck.UnitTesting;
2624

@@ -1294,9 +1292,6 @@ private MockedCodeExplorer()
12941292

12951293
public MockedCodeExplorer(string code) : this(ProjectType.HostProject, ComponentType.StandardModule, code) { }
12961294

1297-
//public MockedCodeExplorer(ProjectType projectType, ComponentType componentType = ComponentType.StandardModule, string code = "")
1298-
// : this(projectType, new[] { componentType }, new[] { code }) { }
1299-
13001295
public MockedCodeExplorer(ProjectType projectType, ComponentType componentType = ComponentType.StandardModule, string code = "") : this()
13011296
{
13021297
var builder = new MockVbeBuilder();
@@ -1308,22 +1303,7 @@ public MockedCodeExplorer(ProjectType projectType, ComponentType componentType =
13081303
VbProject = project.Build();
13091304
Vbe = builder.AddProject(VbProject).Build();
13101305

1311-
var projectRepository = new ProjectsRepository(Vbe.Object);
1312-
1313-
State = new RubberduckParserState(Vbe.Object, projectRepository, new DeclarationFinderFactory(), MockVbeEvents.CreateMockVbeEvents(Vbe).Object);
1314-
1315-
var removeCommand = new RemoveCommand(SaveDialog.Object, MessageBox.Object, State.ProjectsProvider);
1316-
1317-
ViewModel = new CodeExplorerViewModel(new FolderHelper(State, Vbe.Object), State, removeCommand,
1318-
_generalSettingsProvider.Object, _windowSettingsProvider.Object, _uiDispatcher.Object, Vbe.Object, null);
1319-
1320-
var parser = MockParser.Create(Vbe.Object, State, projectRepository);
1321-
parser.Parse(new CancellationTokenSource());
1322-
1323-
if (parser.State.Status >= ParserState.Error)
1324-
{
1325-
Assert.Inconclusive("Parser Error");
1326-
}
1306+
SetupViewModelAndParse();
13271307
}
13281308

13291309
public MockedCodeExplorer(ProjectType projectType,
@@ -1338,10 +1318,6 @@ public MockedCodeExplorer(ProjectType projectType,
13381318
var builder = new MockVbeBuilder();
13391319
var project = builder.ProjectBuilder("TestProject1", ProjectProtection.Unprotected, projectType);
13401320

1341-
VbComponents = project.MockVBComponents;
1342-
VbProject = project.Build();
1343-
Vbe = builder.AddProject(VbProject).Build();
1344-
13451321
for (var index = 0; index < componentTypes.Count; index++)
13461322
{
13471323
var item = componentTypes[index];
@@ -1355,32 +1331,37 @@ public MockedCodeExplorer(ProjectType projectType,
13551331
}
13561332
}
13571333

1334+
VbComponents = project.MockVBComponents;
13581335
VbComponent = project.MockComponents.First();
1336+
VbProject = project.Build();
1337+
Vbe = builder.AddProject(VbProject).Build();
13591338

1360-
var projectRepository = new ProjectsRepository(Vbe.Object);
1339+
SetupViewModelAndParse();
13611340

1362-
State = new RubberduckParserState(Vbe.Object, projectRepository, new DeclarationFinderFactory(), MockVbeEvents.CreateMockVbeEvents(Vbe).Object);
1341+
VbProject.SetupGet(m => m.VBComponents.Count).Returns(componentTypes.Count);
1342+
}
1343+
1344+
private void SetupViewModelAndParse()
1345+
{
1346+
var parser = MockParser.Create(Vbe.Object, null, MockVbeEvents.CreateMockVbeEvents(Vbe));
1347+
State = parser.State;
13631348

13641349
var removeCommand = new RemoveCommand(SaveDialog.Object, MessageBox.Object, State.ProjectsProvider);
13651350

13661351
ViewModel = new CodeExplorerViewModel(new FolderHelper(State, Vbe.Object), State, removeCommand,
13671352
_generalSettingsProvider.Object,
13681353
_windowSettingsProvider.Object, _uiDispatcher.Object, Vbe.Object, null);
13691354

1370-
1371-
var parser = MockParser.Create(Vbe.Object, State, projectRepository);
13721355
parser.Parse(new CancellationTokenSource());
13731356
if (parser.State.Status >= ParserState.Error)
13741357
{
13751358
Assert.Inconclusive("Parser Error");
13761359
}
1377-
1378-
VbProject.SetupGet(m => m.VBComponents.Count).Returns(componentTypes.Count);
13791360
}
13801361

1381-
public RubberduckParserState State { get; }
1362+
public RubberduckParserState State { get; set; }
13821363
public Mock<IVBE> Vbe { get; }
1383-
public CodeExplorerViewModel ViewModel { get; }
1364+
public CodeExplorerViewModel ViewModel { get; set; }
13841365
public Mock<IVBProject> VbProject { get; }
13851366
public Mock<IVBComponents> VbComponents { get; }
13861367
public Mock<IVBComponent> VbComponent { get; }

RubberduckTests/Mocks/MockParser.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
using Rubberduck.Parsing.VBA.Parsing.ParsingExceptions;
2222
using Rubberduck.Parsing.VBA.ReferenceManagement;
2323
using Rubberduck.VBEditor.ComManagement;
24+
using Rubberduck.VBEditor.Events;
2425
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
2526
using Rubberduck.VBEditor.SourceCodeHandling;
2627

@@ -43,18 +44,18 @@ public static RubberduckParserState ParseString(string inputCode, out QualifiedM
4344
return parser.State;
4445
}
4546

46-
public static (SynchronousParseCoordinator parser, IRewritingManager rewritingManager) CreateWithRewriteManager(IVBE vbe, string serializedComProjectsPath = null)
47+
public static (SynchronousParseCoordinator parser, IRewritingManager rewritingManager) CreateWithRewriteManager(IVBE vbe, string serializedComProjectsPath = null, Mock<IVBEEvents> vbeEvents = null)
4748
{
48-
var vbeEvents = MockVbeEvents.CreateMockVbeEvents(new Mock<IVBE>());
49+
//var vbeEvents = MockVbeEvents.CreateMockVbeEvents(new Mock<IVBE>());
4950
var declarationFinderFactory = new DeclarationFinderFactory();
5051
var projectRepository = new ProjectsRepository(vbe);
51-
var state = new RubberduckParserState(vbe, projectRepository, declarationFinderFactory, vbeEvents.Object);
52+
var state = new RubberduckParserState(vbe, projectRepository, declarationFinderFactory, vbeEvents?.Object ?? MockVbeEvents.CreateMockVbeEvents(new Mock<IVBE>()).Object);
5253
return CreateWithRewriteManager(vbe, state, projectRepository, serializedComProjectsPath);
5354
}
5455

55-
public static SynchronousParseCoordinator Create(IVBE vbe, string serializedDeclarationsPath = null)
56+
public static SynchronousParseCoordinator Create(IVBE vbe, string serializedDeclarationsPath = null, Mock<IVBEEvents> vbeEvents = null)
5657
{
57-
return CreateWithRewriteManager(vbe, serializedDeclarationsPath).parser;
58+
return CreateWithRewriteManager(vbe, serializedDeclarationsPath, vbeEvents).parser;
5859
}
5960

6061
public static (SynchronousParseCoordinator parser, IRewritingManager rewritingManager) CreateWithRewriteManager(IVBE vbe, RubberduckParserState state, IProjectsRepository projectRepository, string serializedComProjectsPath = null)

0 commit comments

Comments
 (0)