diff --git a/TryAtSoftware.Equalizer.Core.Tests/EqualizationTests.cs b/TryAtSoftware.Equalizer.Core.Tests/EqualizationTests.cs index aba2de4..37fabc7 100644 --- a/TryAtSoftware.Equalizer.Core.Tests/EqualizationTests.cs +++ b/TryAtSoftware.Equalizer.Core.Tests/EqualizationTests.cs @@ -44,7 +44,7 @@ public void EqualityShouldBeAssertedSuccessfullyForLogicallyEqualEntities() PrepareRepository(repository); var equalizer = PrepareEqualizer(); - equalizer.AssertEquality(repositoryPrototype, repository); + AssertEquality(equalizer, repositoryPrototype, repository); } [Theory] @@ -68,7 +68,7 @@ public void EqualityShouldBeAssertedSuccessfullyForLogicallyUnequalEntities(Acti public void EqualityShouldBeAssertedSuccessfullyForKnownValues(object? expected, object? actual) { var equalizer = new Equalizer(); - equalizer.AssertEquality(expected, actual); + AssertEquality(equalizer, expected, actual); } [Fact] @@ -94,7 +94,7 @@ public void InequalityShouldBeAssertedSuccessfullyForLogicallyUnequalEntities(Ac change(repository); var equalizer = PrepareEqualizer(); - equalizer.AssertInequality(repositoryPrototype, repository); + AssertInequality(equalizer, repositoryPrototype, repository); } [Theory] @@ -104,7 +104,7 @@ public void InequalityShouldBeAssertedSuccessfullyForLogicallyUnequalEntities(Ac public void InequalityShouldBeAssertedSuccessfullyForKnownValues(object? expected, object? actual) { var equalizer = new Equalizer(); - equalizer.AssertInequality(expected, actual); + AssertInequality(equalizer, expected, actual); } [Fact] @@ -116,7 +116,7 @@ public void EqualizationShouldIgnoreMembersThatAreNotConfigured() extendedRepository.CreationTime = DateTime.Today; var equalizer = PrepareEqualizer(); - equalizer.AssertEquality(repositoryPrototype, extendedRepository); + AssertEquality(equalizer, repositoryPrototype, extendedRepository); } public static IEnumerable GetChanges() @@ -172,4 +172,16 @@ private static void PrepareRepository(CodeRepository codeRepository) } private static IEnumerable PrepareInitialCommits() => new[] { "A", "B", "C", "merge A and B" }; + + private static void AssertEquality(Equalizer equalizer, object? expected, object? actual) + { + Assert.True(equalizer.CheckEquality(expected, actual)); + equalizer.AssertEquality(expected, actual); + } + + private static void AssertInequality(Equalizer equalizer, object? expected, object? actual) + { + Assert.False(equalizer.CheckEquality(expected, actual)); + equalizer.AssertInequality(expected, actual); + } } \ No newline at end of file diff --git a/TryAtSoftware.Equalizer.Core/Equalizer.cs b/TryAtSoftware.Equalizer.Core/Equalizer.cs index da118b3..0263da7 100644 --- a/TryAtSoftware.Equalizer.Core/Equalizer.cs +++ b/TryAtSoftware.Equalizer.Core/Equalizer.cs @@ -55,6 +55,13 @@ public void AssertInequality(object? expected, object? actual) AssertCorrectEqualizationResult(equalizationResult); } + /// + public bool CheckEquality(object? expected, object? actual) + { + var equalizationResult = this.Equalize(expected, actual); + return equalizationResult.IsSuccessful; + } + /// /// Use this method to register an external . /// diff --git a/TryAtSoftware.Equalizer.Core/Interfaces/IEqualizer.cs b/TryAtSoftware.Equalizer.Core/Interfaces/IEqualizer.cs index f12fadc..6724509 100644 --- a/TryAtSoftware.Equalizer.Core/Interfaces/IEqualizer.cs +++ b/TryAtSoftware.Equalizer.Core/Interfaces/IEqualizer.cs @@ -18,4 +18,12 @@ public interface IEqualizer /// The expected object instance. /// The actual object instance. void AssertInequality(object? expected, object? actual); + + /// + /// Use this method to check if two values are equal. + /// + /// The expected object instance. + /// The actual object instance. + /// true if the values are equal; otherwise, false. + bool CheckEquality(object? expected, object? actual); } \ No newline at end of file