Skip to content

Strongly Typed Comparisons

Derek Greer edited this page Sep 13, 2017 · 5 revisions

The following example demonstrates using ExpectedObjects to perform strongly-typed comparisons:

using ExpectedObjects;
using Xunit;

namespace ExpectedObjectExamples.Specs
{
  public class CustomerSpecs
  {        
    [Fact]
    public void ComparingEqualCustomers_ShouldBeEqual()
    {
      // establish context

      var expectedCustomer = new Customer
      {
        FirstName = "Silence",
        LastName = "Dogood",
        Address = new Address
        {
          AddressLineOne = "The New-England Courant",
          AddressLineTwo = "3 Queen Street",
          City = "Boston",
          State = "MA",
          PostalCode = "02114"
        }                                            
      }.ToExpectedObject();

      var actualCustomer = new Customer
      {
        FirstName = "Silence",
        LastName = "Dogood",
        Address = new Address
        {
          AddressLineOne = "The New-England Courant",
          AddressLineTwo = "3 Queen Street",
          City = "Boston",
          State = "MA",
          PostalCode = "02114"
        }                                            
      }; 


      // observation
      expectedCustomer.ShouldEqual(actualCustomer);
    }
  }
}
Clone this wiki locally