Beispiel #1
0
        public void SortsLargeDescendingEnumerableCorrectly(int thenBys)
        {
            const int         Items    = 100_000;
            IEnumerable <int> expected = NumberRangeGuaranteedNotCollectionType(0, Items);

            IEnumerable <int> unordered = expected.Select(i => Items - i - 1);

            System.Linq.IOrderedEnumerable <int> ordered = unordered.OrderBy(_ => 0);
            switch (thenBys)
            {
            case 1: ordered = ordered.ThenBy(i => i); break;

            case 2: ordered = ordered.ThenBy(i => 0).ThenBy(i => i); break;

            case 3: ordered = ordered.ThenBy(i => 0).ThenBy(i => 0).ThenBy(i => i); break;
            }

            Assert.Equal(expected, ordered);
        }
Beispiel #2
0
        public void OrderByIsCovariantTestWithCast()
        {
            var ordered = Enumerable.Range(0, 100).Select(i => i.ToString()).OrderBy(i => i.Length);

            System.Linq.IOrderedEnumerable <IComparable> covariantOrdered = ordered;
            covariantOrdered = covariantOrdered.ThenBy(i => i);
            string[] expected =
                Enumerable.Range(0, 100).Select(i => i.ToString()).OrderBy(i => i.Length).ThenBy(i => i).ToArray();
            Assert.Equal(expected, covariantOrdered);
        }
Beispiel #3
0
        public void SortsLargeRandomizedEnumerableCorrectly(int thenBys)
        {
            const int Items = 100_000;
            var       r     = new Random(42);

            int[] randomized = Enumerable.Range(0, Items).Select(i => r.Next()).ToArray();

            System.Linq.IOrderedEnumerable <int> orderedEnumerable = randomized.OrderBy(_ => 0);
            switch (thenBys)
            {
            case 1: orderedEnumerable = orderedEnumerable.ThenBy(i => i); break;

            case 2: orderedEnumerable = orderedEnumerable.ThenBy(i => 0).ThenBy(i => i); break;

            case 3: orderedEnumerable = orderedEnumerable.ThenBy(i => 0).ThenBy(i => 0).ThenBy(i => i); break;
            }
            int[] ordered = orderedEnumerable.ToArray();

            Array.Sort(randomized, (a, b) => a - b);
            Assert.Equal(randomized, orderedEnumerable);
        }
 // [Fact]
 public void NullSourceComparer()
 {
     System.Linq.IOrderedEnumerable <int> source = null;
     Assert.Throws <ArgumentNullException>("source", () => source.ThenBy(i => i, null));
 }
Beispiel #5
0
 public void NullSource()
 {
     System.Linq.IOrderedEnumerable <int> source = null;
     AssertExtensions.Throws <ArgumentNullException>("source", () => source.ThenBy(i => i));
 }