private void WriteCallsWithRespectToCallSpec(ICallSpecification callSpecification, IEnumerable<ICall> relatedCalls, StringBuilder builder)
 {
     foreach (var call in relatedCalls)
     {
         builder.AppendFormat("\t{0}\n", callSpecification.Format(call));
         var nonMatches = DescribeNonMatches(call, callSpecification).Trim();
         if (!string.IsNullOrEmpty(nonMatches))
         {
             builder.AppendFormat("\t\t{0}\n", nonMatches.Replace("\n", "\n\t\t"));
         }
     }
 }
 private void WriteCallsWithRespectToCallSpec(ICallSpecification callSpecification, IEnumerable <ICall> relatedCalls, StringBuilder builder)
 {
     foreach (var call in relatedCalls)
     {
         builder.AppendFormat("\t{0}\n", callSpecification.Format(call));
         var nonMatches = DescribeNonMatches(call, callSpecification).Trim();
         if (!string.IsNullOrEmpty(nonMatches))
         {
             builder.AppendFormat("\t\t{0}\n", nonMatches.Replace("\n", "\n\t\t"));
         }
     }
 }
        public void Throw(ICallSpecification callSpecification, IEnumerable<ICall> matchingCalls, IEnumerable<ICall> nonMatchingCalls, Quantity requiredQuantity)
        {
            var builder = new StringBuilder();
            builder.AppendLine(string.Format("Expected to receive {0} matching:\n\t{1}", requiredQuantity.Describe("call", "calls"), callSpecification.Format(_callFormatter)));

            AppendMatchingCalls(callSpecification, matchingCalls, builder);

            if (requiredQuantity.RequiresMoreThan(matchingCalls))
            {
                AppendNonMatchingCalls(callSpecification, nonMatchingCalls, builder);
            }
            throw new ReceivedCallsException(builder.ToString());
        }
 public void Throw(ICallSpecification callSpecification, IEnumerable<ICall> actualCalls)
 {
     var builder = new StringBuilder();
     builder.AppendLine("Expected to receive call:\n\t" + callSpecification.Format(_callFormatter));
     if (!actualCalls.Any())
     {
         builder.AppendLine("Actually received no calls that resemble the expected call.");
     }
     else
     {
         builder.AppendLine("Actually received (non-matching arguments indicated with '*' characters):");
         foreach (var call in actualCalls)
         {
             builder.AppendFormat("\t{0}\n", _callFormatter.Format(call, callSpecification));
         }
     }
     throw new CallNotReceivedException(builder.ToString());
 }
 public void Throw(ICallSpecification callSpecification)
 {
     throw new CallReceivedException("Unexpected call to: " + callSpecification.Format(_callFormatter));
 }