public void Throws_exception_when_value_of_matching_string_property_does_not_match() { var table = new Table("Field", "Value"); table.AddRow("StringProperty", "Howard Roark"); var test = new InstanceComparisonTestObject {StringProperty = "Peter Keating"}; ComparisonTestResult comparisonResult = ExceptionWasThrownByThisComparison(table, test); comparisonResult.ExceptionWasThrown.ShouldBeTrue(); }
public void Does_not_throw_exception_when_value_of_matching_string_property_matches() { var table = new Table("Field", "Value"); table.AddRow("StringProperty", "Howard Roark"); var test = new InstanceComparisonTestObject {StringProperty = "Howard Roark"}; ComparisonTestResult comparisonResult = ExceptionWasThrownByThisComparison(table, test); comparisonResult.ExceptionWasThrown.ShouldBeFalse(comparisonResult.ExceptionMessage); }
public void Exception_returns_an_exception_for_one_error_when_there_is_one_difference() { var table = new Table("Field", "Value"); table.AddRow("StringProperty", "Howard Roark"); var test = new InstanceComparisonTestObject { StringProperty = "Peter Keating" }; var exception = GetExceptionThrownByThisComparison(table, test); exception.Message.AgnosticLineBreak().Should().Be( @"The following fields did not match: StringProperty: Expected <Howard Roark>, Actual <Peter Keating>".AgnosticLineBreak()); }
public void Throws_exception_when_first_row_matches_but_second_does_not() { var table = new Table("Field", "Value"); table.AddRow("StringProperty", "Howard Roark"); table.AddRow("IntProperty", "20"); var test = new InstanceComparisonTestObject { StringProperty = "Howard Roark", IntProperty = 10 }; ComparisonTestResult comparisonResult = ExceptionWasThrownByThisComparison(table, test); comparisonResult.ExceptionWasThrown.ShouldBeTrue(); }
public void Can_compare_a_horizontal_table() { var table = new Table("StringProperty", "IntProperty", "DecimalProperty", "FloatProperty"); table.AddRow("Test", "42", "23.01", "11.56"); var test = new InstanceComparisonTestObject { StringProperty = "Test", IntProperty = 42, DecimalProperty = 23.01M, FloatProperty = 11.56F }; var comparisonResult = ExceptionWasThrownByThisComparison(table, test); comparisonResult.ExceptionWasThrown.Should().BeFalse(comparisonResult.ExceptionMessage); }
public void returns_true_if_instance_matches_horizontal_table() { var table = new Table("IntProperty", "BoolProperty", "StringProperty", "DateTimeProperty"); table.AddRow("1", "true", "Test", "4/30/2016"); var test = new InstanceComparisonTestObject() { IntProperty = 1, BoolProperty = true, StringProperty = "Test", DateTimeProperty = new DateTime(2016, 4, 30) }; var result = GetResultFromThisComparison(table, test); result.Should().Be(true); }
public void returns_false_if_instance_values_do_not_match() { var table = new Table("IntProperty", "BoolProperty", "StringProperty", "DateTimeProperty"); table.AddRow("1", "true", "Test", "4/30/2016"); var test = new InstanceComparisonTestObject { IntProperty = 1, BoolProperty = true, StringProperty = "Test", DateTimeProperty = new DateTime(2016, 4, 1) }; var result = GetResultFromThisComparison(table, test); result.Should().Be(false); }
public void Should_not_throw_an_exception_when_the_ToString_values_of_each_match() { var table = new Table("Field", "Value"); table.AddRow("StringProperty", "Howard Roark"); table.AddRow("IntProperty", "10"); table.AddRow("DateTimeProperty", "12/25/2010 8:00:00 AM"); var test = new InstanceComparisonTestObject { StringProperty = "Howard Roark", IntProperty = 10, DateTimeProperty = new DateTime(2010, 12, 25, 8, 0, 0) }; ComparisonTestResult comparisonResult = ExceptionWasThrownByThisComparison(table, test); comparisonResult.ExceptionWasThrown.ShouldBeFalse(comparisonResult.ExceptionMessage); }
public void Should_not_throw_an_exception_when_the_date_time_value_is_midnight_and_the_table_does_not_include_a_time() { var table = new Table("Field", "Value"); table.AddRow("DateTimeProperty", "12/25/2010"); var test = new InstanceComparisonTestObject { DateTimeProperty = new DateTime(2010, 12, 25, 0, 0, 0) }; ComparisonTestResult comparisonResult = ExceptionWasThrownByThisComparison(table, test); comparisonResult.ExceptionWasThrown.ShouldBeFalse(comparisonResult.ExceptionMessage); }
private static ComparisonTestResult ExceptionWasThrownByThisComparison(Table table, InstanceComparisonTestObject test) { var result = new ComparisonTestResult { ExceptionWasThrown = false }; try { table.CompareToInstance(test); } catch (ComparisonException ex) { result.ExceptionWasThrown = true; result.ExceptionMessage = ex.Message; } return result; }
private static ComparisonException GetExceptionThrownByThisComparison(Table table, InstanceComparisonTestObject test) { try { table.CompareToInstance(test); } catch (ComparisonException ex) { return ex; } return null; }
public void Ignores_casing_when_matching_property_name() { var table = new Table("Field", "Value"); table.AddRow("STRINGproperty", "Howard Roark"); var test = new InstanceComparisonTestObject { StringProperty = "Howard Roark" }; var comparisonResult = ExceptionWasThrownByThisComparison(table, test); comparisonResult.ExceptionWasThrown.ShouldBeFalse(comparisonResult.ExceptionMessage); }
public void Exception_returns_a_descriptive_error_when_property_in_table_does_not_exist() { var table = new Table("Field", "Value"); table.AddRow("IDoNotExist", "Ok, mister"); var test = new InstanceComparisonTestObject(); var exception = GetExceptionThrownByThisComparison(table, test); exception.Message.ShouldEqual(@"The following fields did not match: IDoNotExist: Property does not exist"); }
public void Exception_returns_an_exception_for_two_errors_when_there_are_two_differences() { var table = new Table("Field", "Value"); table.AddRow("StringProperty", "Howard Roark"); table.AddRow("IntProperty", "1"); var test = new InstanceComparisonTestObject { StringProperty = "Peter Keating", IntProperty = 2 }; var exception = GetExceptionThrownByThisComparison(table, test); exception.Message.ShouldEqual( @"The following fields did not match: StringProperty: Expected <Howard Roark>, Actual <Peter Keating> IntProperty: Expected <1>, Actual <2>"); }
public void Should_not_throw_an_exception_when_actual_value_is_null_and_expected_is_empty() { var table = new Table("Field", "Value"); table.AddRow("NullableField", ""); var test = new InstanceComparisonTestObject { NullableField = null, }; ComparisonTestResult comparisonResult = ExceptionWasThrownByThisComparison(table, test); comparisonResult.ExceptionWasThrown.ShouldBeFalse(comparisonResult.ExceptionMessage); }
private static bool GetResultFromThisComparison(Table table, InstanceComparisonTestObject test) { return table.IsEquivalentToInstance(test); }