Ejemplo n.º 1
0
        private void AssertThatItWorksOneWay(IList <NodeWithPropertyValues> listA, IList <NodeWithPropertyValues> listB)
        {
            SortedMergeJoin sortedMergeJoin = new SortedMergeJoin();

            sortedMergeJoin.Initialize(IndexOrder);

            IComparer <NodeWithPropertyValues> comparator = IndexOrder == IndexOrder.ASCENDING ? (a, b) => ValueTuple.COMPARATOR.Compare(ValueTuple.of(a.Values), ValueTuple.of(b.Values)) : (a, b) => ValueTuple.COMPARATOR.Compare(ValueTuple.of(b.Values), ValueTuple.of(a.Values));

            listA.sort(comparator);
            listB.sort(comparator);

            IList <NodeWithPropertyValues> result = Process(sortedMergeJoin, listA.GetEnumerator(), listB.GetEnumerator());

            IList <NodeWithPropertyValues> expected = new List <NodeWithPropertyValues>();

            ((IList <NodeWithPropertyValues>)expected).AddRange(listA);
            ((IList <NodeWithPropertyValues>)expected).AddRange(listB);
            expected.sort(comparator);

            assertThat(result, equalTo(expected));
        }