public void When_comparing_objects_by_their_properties_and_no_properties_have_been_specified_it_should_throw() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var dto = new CustomerDto(); var customer = new Customer(); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- Action act = () => dto.ShouldHave().EqualTo(customer); //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- act.ShouldThrow<InvalidOperationException>().WithMessage( "Please specify some properties to include in the comparison", ComparisonMode.StartWith); }
public void When_comparing_objects_by_their_shared_properties_and_all_match_it_should_not_throw() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var dto = new CustomerDto { Version = 2, Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "John" }; var customer = new Customer { Id = 1, Version = 2, Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "John" }; //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- Action act = () => customer.ShouldHave().SharedProperties().EqualTo(dto); //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- act.ShouldNotThrow(); }
public void When_all_properties_but_one_match_and_that_is_expected_it_should_not_throw() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var dto = new CustomerDto { Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "John" }; var customer = new Customer { Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "Dennis" }; //----------------------------------------------------------------------------------------------------------- // Act / Assert //----------------------------------------------------------------------------------------------------------- dto.ShouldHave().AllPropertiesBut(d => d.Name).EqualTo(customer); }
public void When_comparing_objects_it_should_ignore_private_properties() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var subject = new Customer("MyPassword") { Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "John", }; var other = new Customer("SomeOtherPassword") { Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "John" }; //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- Action act = () => subject.ShouldHave().AllProperties().EqualTo(other); //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- act.ShouldNotThrow(); }
public void When_all_properties_but_one_match_and_that_is_expected_it_should_not_throw() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var dto = new CustomerDto { Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "John" }; var customer = new Customer { Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "Dennis" }; //----------------------------------------------------------------------------------------------------------- // Act / Assert //----------------------------------------------------------------------------------------------------------- dto.ShouldBeEquivalentTo(customer, options => options.Excluding(d => d.Name)); }
public void When_comparing_objects_by_their_shared_properties_and_all_match_it_should_not_throw() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var dto = new CustomerDto { Version = 2, Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "John" }; var customer = new Customer { Id = 1, Version = 2, Age = 36, Birthdate = new DateTime(1973, 9, 20), Name = "John" }; //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- Action act = () => dto.ShouldBeEquivalentTo(customer, options => options.ExcludingMissingProperties()); //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- act.ShouldNotThrow(); }