public IEnumerable<Result> Run(Context context, ISpecificationRunListener listener, RunOptions options, IEnumerable<ICleanupAfterEveryContextInAssembly> globalCleanups, IEnumerable<ISupplementSpecificationResults> resultSupplementers) { IEnumerable<Result> results; listener.OnContextStart(context.GetInfo()); Result result = Result.Pass(); if (context.HasExecutableSpecifications) { result = context.EstablishContext(); } if (result.Passed) { results = RunSpecifications(context, listener, options, resultSupplementers); } else { results = FailSpecifications(context, listener, result, resultSupplementers); } if (context.HasExecutableSpecifications) { result = context.Cleanup(); foreach (var cleanup in globalCleanups) { cleanup.AfterContextCleanup(); } } listener.OnContextEnd(context.GetInfo()); return results; }
public IEnumerable<Result> Run(Context context, ISpecificationRunListener listener, RunOptions options) { IEnumerable<Result> results; listener.OnContextStart(context.GetInfo()); Result result = Result.Pass(); if (context.HasExecutableSpecifications) { result = context.EstablishContext(); } if (result.Passed) { results = RunSpecifications(context, listener, options); } else { results = FailSpecifications(context, listener, options, result); } if (context.HasExecutableSpecifications) { result = context.Cleanup(); } listener.OnContextEnd(context.GetInfo()); return results; }
public IEnumerable<Result> Run(Context context, ISpecificationRunListener listener, RunOptions options, IEnumerable<ICleanupAfterEveryContextInAssembly> globalCleanups, IEnumerable<ISupplementSpecificationResults> resultSupplementers) { var results = new List<Result>(); listener.OnContextStart(context.GetInfo()); foreach (var specification in context.Specifications) { Result result = Result.Pass(); if (specification.IsExecutable) { result = context.EstablishContext(); } if (result.Passed) { var runner = new SpecificationRunner(listener, options, resultSupplementers); result = runner.Run(specification); } else { results = FailSpecification(listener, specification, result); } if (specification.IsExecutable) { var cleanupResult = context.Cleanup(); if (result.Passed && !cleanupResult.Passed) { result = cleanupResult; } foreach (var cleanup in globalCleanups) { cleanup.AfterContextCleanup(); } } results.Add(result); } listener.OnContextEnd(context.GetInfo()); return results; }
public IEnumerable<Result> Run(Context context, ISpecificationRunListener listener, RunOptions options) { var results = new List<Result>(); listener.OnContextStart(context.GetInfo()); foreach (var specification in context.Specifications) { Result result = Result.Pass(); if (specification.IsExecutable) { result = context.EstablishContext(); } if (result.Passed) { var runner = new SpecificationRunner(listener, options); result = runner.Run(specification); } if (specification.IsExecutable) { var cleanupResult = context.Cleanup(); if (result.Passed && !cleanupResult.Passed) { result = cleanupResult; } } results.Add(result); } listener.OnContextEnd(context.GetInfo()); return results; }
public Test GetVisualStudioTest(Context context, Specification specification) { return GetVisualStudioTest(context.GetInfo(), specification.GetInfo()); }