public void Execute(IStep containerStep, ITestContext context)
        {
            var actualObjects = findTheObjects(containerStep, context);
            var actualRows = buildActualRows(actualObjects);
            var expectedRows = buildExpectedRows(context, containerStep);

            var matcher = new SetRowMatcher(expectedRows, actualRows, context);
            IList<SetRow> results = Ordered ? matcher.CompareOrdered() : matcher.Compare();

            markCounts(context, results);

            context.ResultsFor(containerStep).SetResult(results, _leafName);
        }
        public void Execute(IStep containerStep, ITestContext context)
        {
            var actualObjects = findTheObjects(containerStep, context);
            var actualRows    = buildActualRows(actualObjects);
            var expectedRows  = buildExpectedRows(context, containerStep);

            var valueMatcher = new RowValueMatcher(context);

            _comparer.Columns.Each(x => x.ConfigureMatcher(valueMatcher));

            var            matcher = new SetRowMatcher(expectedRows, actualRows, valueMatcher);
            IList <SetRow> results = Ordered ? matcher.CompareOrdered() : matcher.Compare();

            markCounts(context, results);

            context.ResultsFor(containerStep).SetResult(results, _leafName);
        }