private void SetupAndTestStatusEvent(Action <ITestEngine, List <EventArgs> > configuration) { using (var engine = new MockedTestEngine(MockedTestEngine.GetTestMethod(1))) { var completionEvents = new List <EventArgs>(); configuration.Invoke(engine.TestEngine, completionEvents); engine.ParserState.OnParseRequested(engine); if (engine.ParserState.Status != ParserState.Ready) { Assert.Inconclusive("Parser Error"); } engine.TestEngine.Run(engine.TestEngine.Tests); Mock.Verify(engine.Dispatcher, engine.VbeInteraction, engine.WrapperProvider); Assert.AreEqual(1, completionEvents.Count); } }
public void TestEngine_RaisesRefreshEvent_EveryParserRun() { const int parserRuns = 5; using (var engine = new MockedTestEngine(MockedTestEngine.GetTestMethod(1))) { var refreshCount = 0; engine.TestEngine.TestsRefreshed += (sender, args) => refreshCount++; for (var parse = 1; parse <= parserRuns; parse++) { engine.ParserState.OnParseRequested(engine); if (engine.ParserState.Status != ParserState.Ready) { Assert.Inconclusive("Parser Error"); } Assert.AreEqual(parse, refreshCount); Assert.AreEqual(1, engine.TestEngine.Tests.Count()); } } }
private void SetupAndTestAssertAndReturn(Action action, TestResult expected) { using (var engine = new MockedTestEngine(MockedTestEngine.GetTestMethod(1))) { var completionEvents = new List <TestCompletedEventArgs>(); engine.SetupAssertCompleted(action); engine.TestEngine.TestCompleted += (source, args) => completionEvents.Add(args); engine.ParserState.OnParseRequested(engine); if (engine.ParserState.Status != ParserState.Ready) { Assert.Inconclusive("Parser Error"); } engine.TestEngine.Run(engine.TestEngine.Tests); Thread.SpinWait(25); Mock.Verify(engine.Dispatcher, engine.VbeInteraction, engine.WrapperProvider, engine.TypeLib); Assert.AreEqual(1, completionEvents.Count); Assert.AreEqual(expected, completionEvents.First().Result); } }