Example #1
0
            public override int compare(T o1, T o2, bool nullPrecedes)
            {
                int comparison = baseComparator.compare(o1, o2, nullPrecedes);

                int i = 0;

                while (comparison == 0 && i < minorOrderings.Length)
                {
                    NullTolerantComparator <T> comparator = minorOrderings[i];
                    comparison = comparator.compare(o1, o2, nullPrecedes);
                    i++;
                }

                return(comparison);
            }
Example #2
0
        public static bool orderingConsistent <T>(IList <T> actualElements, NullTolerantComparator <T> expectedOrdering, bool nullPrecedes)
        {
            for (int i = 0; i < actualElements.Count - 1; i++)
            {
                T currentExecution = actualElements[i];
                T nextExecution    = actualElements[i + 1];

                int comparison = expectedOrdering.compare(currentExecution, nextExecution, nullPrecedes);
                if (comparison > 0)
                {
                    return(false);
                }
            }

            return(true);
        }