public void GetHashCode_ReturnsValueFromItem() { // Arrange var item = (new ComparableType(), new RazorSourceGenerationOptions()); var razorComparer = new RazorSourceGeneratorComparer <ComparableType>(); // Act var result = razorComparer.GetHashCode(item); // Assert Assert.Equal(42, result); }
public void Equals_ReturnsFalse_IfItemComparersReturnFalse() { // Arrange var left = (new ComparableType(), new RazorSourceGenerationOptions()); var right = (new ComparableType { Value = "Different" }, new RazorSourceGenerationOptions()); var razorComparer = new RazorSourceGeneratorComparer <ComparableType>(); // Act var result = razorComparer.Equals(left, right); // Assert Assert.False(result); Assert.True(left.Item1.EqualsCalled); }
public void Equals_ComparesWithoutSuppressRazorSourceGenerator() { // Arrange var left = (new ComparableType(), new RazorSourceGenerationOptions { SuppressRazorSourceGenerator = true /* This is ignored */ }); var right = (new ComparableType(), new RazorSourceGenerationOptions()); var razorComparer = new RazorSourceGeneratorComparer <ComparableType>(); // Act var result = razorComparer.Equals(left, right); // Assert Assert.True(result); Assert.True(left.Item1.EqualsCalled); }
public void Equals_ReturnsTrue_IfSuppressRazorSourceGeneratorOnRightIsTrue() { // Arrange var left = (new ComparableType(), new RazorSourceGenerationOptions()); var right = (new ComparableType(), new RazorSourceGenerationOptions { SuppressRazorSourceGenerator = true }); var razorComparer = new RazorSourceGeneratorComparer <ComparableType>(); // Act var result = razorComparer.Equals(left, right); // Assert Assert.True(result); Assert.False(right.Item1.EqualsCalled); }
public void Equals_UsesProvidedComparer() { // Arrange var left = (new ComparableType(), new RazorSourceGenerationOptions { SuppressRazorSourceGenerator = true /* This is ignored */ }); var right = (new ComparableType(), new RazorSourceGenerationOptions()); var invoked = false; var razorComparer = new RazorSourceGeneratorComparer <ComparableType>((a, b) => { invoked = true; return(true); }); // Act var result = razorComparer.Equals(left, right); // Assert Assert.True(result); Assert.False(left.Item1.EqualsCalled); Assert.True(invoked); }