Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 17 additions & 5 deletions TryAtSoftware.Equalizer.Core.Tests/EqualizationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void EqualityShouldBeAssertedSuccessfullyForLogicallyEqualEntities()
PrepareRepository(repository);

var equalizer = PrepareEqualizer();
equalizer.AssertEquality(repositoryPrototype, repository);
AssertEquality(equalizer, repositoryPrototype, repository);
}

[Theory]
Expand All @@ -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]
Expand All @@ -94,7 +94,7 @@ public void InequalityShouldBeAssertedSuccessfullyForLogicallyUnequalEntities(Ac
change(repository);

var equalizer = PrepareEqualizer();
equalizer.AssertInequality(repositoryPrototype, repository);
AssertInequality(equalizer, repositoryPrototype, repository);
}

[Theory]
Expand All @@ -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]
Expand All @@ -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<object[]> GetChanges()
Expand Down Expand Up @@ -172,4 +172,16 @@ private static void PrepareRepository(CodeRepository codeRepository)
}

private static IEnumerable<string> 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);
}
}
7 changes: 7 additions & 0 deletions TryAtSoftware.Equalizer.Core/Equalizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ public void AssertInequality(object? expected, object? actual)
AssertCorrectEqualizationResult(equalizationResult);
}

/// <inheritdoc />
public bool CheckEquality(object? expected, object? actual)
{
var equalizationResult = this.Equalize(expected, actual);
return equalizationResult.IsSuccessful;
}

/// <summary>
/// Use this method to register an external <see cref="IEqualizationProfileProvider"/>.
/// </summary>
Expand Down
8 changes: 8 additions & 0 deletions TryAtSoftware.Equalizer.Core/Interfaces/IEqualizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,12 @@ public interface IEqualizer
/// <param name="expected">The expected object instance.</param>
/// <param name="actual">The actual object instance.</param>
void AssertInequality(object? expected, object? actual);

/// <summary>
/// Use this method to check if two values are equal.
/// </summary>
/// <param name="expected">The expected object instance.</param>
/// <param name="actual">The actual object instance.</param>
/// <returns><c>true</c> if the values are equal; otherwise, <c>false</c>.</returns>
bool CheckEquality(object? expected, object? actual);
}
Loading