示例#1
0
 /// <summary>
 /// Write the failure message to the MessageWriter provided as an
 /// argument. The default implementation simply passes the constraint
 /// and the actual value to the writer, which then displays the
 /// constraint description and the value.
 ///
 /// Constraints that need to provide additional details, such as where
 /// the error occured can override this.
 /// </summary>
 /// <exception cref="ArgumentNullException">if the message writer is null.</exception>
 /// <param name="writer">The MessageWriter on which to display the message</param>
 public virtual void WriteMessageTo(MessageWriter writer)
 {
     if (writer == null)
     {
         throw new ArgumentNullException("writer");
     }
     writer.DisplayDifferences(this);
 }
示例#2
0
 /// <inheritdoc />
 public override void WriteMessageTo(MessageWriter writer)
 {
     writer.DisplayDifferences(this);
     if (differences != null && differences.Any())
     {
         writer.Write("  {0} Differences:    ", differences.Count);
         writer.WriteCollectionElements(differences, 0, 20);
     }
 }
示例#3
0
 private void DisplayDifferences(MessageWriter writer, object expected, object actual, int depth)
 {
     if (expected is Ast && actual is Ast)
     {
         DisplayAstDifferences(writer, (Ast)expected, (Ast)actual);
     }
     else
     {
         writer.DisplayDifferences(expected, actual);
     }
 }
示例#4
0
 /// <summary>
 /// Displays the differences.
 /// </summary>
 /// <param name="writer">The writer.</param>
 /// <param name="expected">The expected.</param>
 /// <param name="actual">The actual.</param>
 /// <param name="depth">The depth.</param>
 private void DisplayDifferences(MessageWriter writer, object expected, object actual, int depth)
 {
     if (expected is string && actual is string)
     {
         DisplayStringDifferences(writer, (string)expected, (string)actual);
     }
     else if (expected is ICollection && actual is ICollection)
     {
         DisplayCollectionDifferences(writer, expected as ICollection, actual as ICollection, depth);
     }
     else if (expected is Stream && actual is Stream)
     {
         DisplayStreamDifferences(writer, expected as Stream, actual as Stream, depth);
     }
     else if (Tolerance != null)
     {
         writer.DisplayDifferences(expected, actual, Tolerance);
     }
     else
     {
         writer.DisplayDifferences(expected, actual);
     }
 }
示例#5
0
        /// <inheritdoc/>
        public override void WriteMessageTo(MessageWriter writer)
        {
            Comparison c = diffResult.Differences.First().Comparison;

            writer.WriteMessageLine(comparisonFormatter.GetDescription(c));
            if (diffResult.TestSource.SystemId != null ||
                diffResult.ControlSource.SystemId != null)
            {
                writer.WriteMessageLine(string.Format("comparing {0} to {1}",
                                                      diffResult.TestSource.SystemId,
                                                      diffResult.ControlSource.SystemId));
            }
            writer.DisplayDifferences(GetDetails(c.ControlDetails, c.Type),
                                      GetDetails(c.TestDetails, c.Type));
        }
示例#6
0
 /// <summary>
 /// Write the failure message to the MessageWriter provided
 /// as an argument. The default implementation simply passes
 /// the result and the actual value to the writer, which
 /// then displays the constraint description and the value.
 ///
 /// Constraints that need to provide additional details,
 /// such as where the error occurred, can override this.
 /// </summary>
 /// <param name="writer">The MessageWriter on which to display the message</param>
 public virtual void WriteMessageTo(MessageWriter writer)
 {
     writer.DisplayDifferences(this);
 }
示例#7
0
 /// <summary>
 /// Write the failure message to the MessageWriter provided
 /// as an argument. The default implementation simply passes
 /// the result and the actual value to the writer, which
 /// then displays the constraint description and the value.
 /// 
 /// Constraints that need to provide additional details,
 /// such as where the error occured can override this.
 /// </summary>
 /// <param name="writer">The MessageWriter on which to display the message</param>
 public virtual void WriteMessageTo(MessageWriter writer)
 {
     writer.DisplayDifferences(this);
 }
示例#8
0
 public override void WriteDescriptionTo(MessageWriter writer)
 {
     writer.DisplayDifferences(_expected, actual);
 }
 // Overridden for a cleaner error message (contributed by @chiccodoro)
 public override void WriteMessageTo(MessageWriter writer)
 {
     writer.DisplayDifferences(this);
 }