Compares facts using a ICompareObjects object and reports the differences.
Inheritance: IFactComparer
        public void CompareReturnsExpectedFactWhenIdentifiersDiffer()
        {
            var comparer = new CompareObjects();
            var sut      = new CompareNetObjectsBasedFactComparer(comparer);

            var @event = new Event {
                Value = "1"
            };
            var expected = new Fact("123", @event);
            var actual   = new Fact("456", @event);
            var result   = sut.Compare(expected, actual);

            Assert.That(result,
                        Is.EquivalentTo(new[]
            {
                new FactComparisonDifference(expected, actual, "Expected.Identifier != Actual.Identifier (123,456)")
            }).Using(FactComparisonDifferenceComparer.Instance));
        }
        public void CompareReturnsExpectedFactWhenEventsDiffer()
        {
            var comparer = new CompareObjects();
            var sut      = new CompareNetObjectsBasedFactComparer(comparer);

            var expected = new Fact("123", new Event {
                Value = "1"
            });
            var actual = new Fact("123", new Event {
                Value = "2"
            });
            var result = sut.Compare(expected, actual);

            Assert.That(result,
                        Is.EquivalentTo(new[]
            {
                new FactComparisonDifference(expected, actual, "Expected..Value != Actual..Value (1,2)")
            }).Using(FactComparisonDifferenceComparer.Instance));
        }
        public void IsFactComparer()
        {
            var sut = new CompareNetObjectsBasedFactComparer(new CompareObjects());

            Assert.IsInstanceOf <IFactComparer>(sut);
        }