1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
5
using System.Collections.Generic;
6
using ICSharpCode.UnitTesting;
8
using UnitTesting.Tests.Utils;
10
namespace UnitTesting.Tests.Utils.Tests
13
public class MockNUnitTestFrameworkTestFixture
15
MockRunTestCommandContext context;
16
MockProcessRunner processRunner;
17
MockNUnitTestFramework testFramework;
18
NUnitTestRunner testRunner;
19
NUnitTestDebugger testDebugger;
20
MockDebuggerService debuggerService;
25
context = new MockRunTestCommandContext();
26
processRunner = new MockProcessRunner();
27
debuggerService = new MockDebuggerService();
29
testFramework = new MockNUnitTestFramework(debuggerService,
31
context.MockTestResultsMonitor,
32
context.UnitTestingOptions,
33
context.MessageService);
35
testRunner = testFramework.CreateTestRunner() as NUnitTestRunner;
36
testDebugger = testFramework.CreateTestDebugger() as NUnitTestDebugger;
40
public void CreateTestRunnerCreatesNUnitTestRunner()
42
Assert.IsNotNull(testRunner);
46
public void NUnitTestRunnerAddedToTestRunnersCreatedList()
48
List<NUnitTestRunner> expectedRunners = new List<NUnitTestRunner>();
49
expectedRunners.Add(testRunner);
51
Assert.AreEqual(expectedRunners.ToArray(), testFramework.NUnitTestRunnersCreated.ToArray());
55
public void NUnitTestRunnerCreatedWithMockProcessRunnerAndUnitTestingOptions()
57
MockCSharpProject project = new MockCSharpProject();
58
SelectedTests tests = new SelectedTests(project);
59
testRunner.Start(tests);
61
NUnitConsoleApplication app = new NUnitConsoleApplication(tests, context.UnitTestingOptions);
62
string expectedArguments = app.GetArguments();
63
Assert.AreEqual(expectedArguments, processRunner.CommandArgumentsPassedToStartMethod);
67
public void NUnitTestRunnerCreatedWithMockTestResultsMonitor()
69
MockCSharpProject project = new MockCSharpProject();
70
SelectedTests tests = new SelectedTests(project);
71
testRunner.Start(tests);
73
Assert.IsTrue(context.MockTestResultsMonitor.IsStartMethodCalled);
77
public void NUnitTestDebuggerCreated()
79
Assert.IsNotNull(testDebugger);
83
public void NUnitTestDebuggerAddedToTestDebuggersCreatedList()
85
List<NUnitTestDebugger> expectedDebuggers = new List<NUnitTestDebugger>();
86
expectedDebuggers.Add(testDebugger);
88
Assert.AreEqual(expectedDebuggers.ToArray(), testFramework.NUnitTestDebuggersCreated.ToArray());
92
public void NUnitTestDebuggerCreatedWithMockTestResultsMonitor()
94
MockCSharpProject project = new MockCSharpProject();
95
SelectedTests tests = new SelectedTests(project);
96
testDebugger.Start(tests);
98
Assert.IsTrue(context.MockTestResultsMonitor.IsStartMethodCalled);
102
public void NUnitTestDebuggerCreatedWithDebuggerService()
104
context.UnitTestingOptions.NoShadow = true;
106
MockCSharpProject project = new MockCSharpProject();
107
SelectedTests tests = new SelectedTests(project);
108
testDebugger.Start(tests);
110
NUnitConsoleApplication app = new NUnitConsoleApplication(tests, context.UnitTestingOptions);
111
string expectedArguments = app.GetArguments();
112
Assert.AreEqual(expectedArguments, debuggerService.MockDebugger.ProcessStartInfo.Arguments);
116
public void NUnitTestDebuggerCreatedWithMessageService()
118
context.MockMessageService.AskQuestionReturnValue = true;
119
debuggerService.IsDebuggerLoaded = true;
120
debuggerService.MockDebugger.IsDebugging = true;
122
MockCSharpProject project = new MockCSharpProject();
123
SelectedTests tests = new SelectedTests(project);
124
testDebugger.Start(tests);
126
Assert.IsNotNull(context.MockMessageService.QuestionPassedToAskQuestion);
130
public void IsBuildNeededBeforeTestRunReturnsTrue()
132
Assert.IsTrue(testFramework.IsBuildNeededBeforeTestRun);