public void GetEqualityResult_includes_values_in_result([Frozen] IEqualityComparer <string> comparer,
                                                                EqualityRule <string> sut,
                                                                string a,
                                                                string b)
        {
            var result = sut.GetEqualityResult(a, b);

            Assert.That(result?.RuleResults?.FirstOrDefault()?.ValueA, Is.EqualTo(a), "First value");
            Assert.That(result?.RuleResults?.FirstOrDefault()?.ValueB, Is.EqualTo(b), "Second value");
        }
        public void GetEqualityResult_returns_not_equal_result_when_instances_are_equal([Frozen] IEqualityComparer <string> comparer,
                                                                                        EqualityRule <string> sut,
                                                                                        string a,
                                                                                        string b)
        {
            Mock.Get(comparer).Setup(x => x.Equals(a, b)).Returns(false);

            var result = sut.GetEqualityResult(a, b);

            Assert.That(result?.AreEqual, Is.False);
        }