Example #1
0
        public void ListExtensions_Partition_PartitionMatches()
        {
            var target = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

            var result = target.PartitionMatches(n => n % 2 == 0);

            var leftExpected = new[] { 0, 2, 4, 6, 8 };
            var rightExpected = new[] { 1, 3, 5, 7, 9 };

            var leftResult = result.Item1.ToList();
            var rightResult = result.Item2.ToList();

            for (var i = 0; i < leftExpected.Length; i++)
            {
                Assert.AreEqual(leftExpected[i], leftResult[i]);
            }

            for (var i = 0; i < rightExpected.Length; i++)
            {
                Assert.AreEqual(rightExpected[i], rightResult[i]);
            }
        }