public void ShouldBeAbleToExecuteTestScript() { var scriptRunner = new ScriptInterpreter(_testScript); var receivedEvents = new List <string>(); scriptRunner.EventTriggered += delegate(object sender, InterpreterEventArgs e) { receivedEvents.Add(Enum.GetName(typeof(InterpreterEvents), e.InterpreterEvent)); }; scriptRunner.ExecuteScript(); receivedEvents.Where(x => x.Contains(Enum.GetName(typeof(InterpreterEvents), InterpreterEvents.TestScriptStarted))) .ToList().Count().Should().Be(1); receivedEvents.Where(x => x.Contains(Enum.GetName(typeof(InterpreterEvents), InterpreterEvents.TestScriptFinished))) .ToList().Count().Should().Be(1); receivedEvents.Where(x => x.Contains(Enum.GetName(typeof(InterpreterEvents), InterpreterEvents.TestSuiteStarted))) .ToList().Count().Should().Be(1); receivedEvents.Where(x => x.Contains(Enum.GetName(typeof(InterpreterEvents), InterpreterEvents.TestStepStarted))) .ToList().Count().Should().Be(4); }