public Result Run(Specification specification)
    {
      _listener.OnSpecificationStart(specification.GetInfo());
      var result = specification.Verify();
      _listener.OnSpecificationEnd(specification.GetInfo(), result);

      return result;
    }
    public Result Run(Specification specification)
    {
      _listener.OnSpecificationStart(specification.GetInfo());
      var result = specification.Verify();
      result = _resultSupplementers.Aggregate(result, (r, supplement) => supplement.SupplementResult(r));
      _listener.OnSpecificationEnd(specification.GetInfo(), result);

      return result;
    }
 static List<Result> FailSpecification(ISpecificationRunListener listener, Specification specification, Result result)
 {
   listener.OnSpecificationStart(specification.GetInfo());
   listener.OnSpecificationEnd(specification.GetInfo(), result);
   return new List<Result> { result };
 }
 public Test GetVisualStudioTest(Context context, Specification specification)
 {
     return GetVisualStudioTest(context.GetInfo(), specification.GetInfo());
 }