Example #1
0
        public void ListPartition_PivotAtTheEnd_Success()
        {
            var input = new int[] { 2, 1, 5, 4, 3 };

            ListPartition.Partition(input, 3);
            Assert.That(input, new ListPartitionTestUtils.PartitionedListConstraint(3));
        }
Example #2
0
        public void Partition_EmptyList()
        {
            var listPartition = new ListPartition();

            List <int> list = new() { };

            listPartition.Partition(list, 3);

            list.Should().BeEquivalentTo(new List <int>()
            {
            });
        }
Example #3
0
        public void Partition_OneElement()
        {
            var listPartition = new ListPartition();

            List <int> list = new() { 4 };

            listPartition.Partition(list, 3);

            list.Should().BeEquivalentTo(new List <int>()
            {
                4
            });
        }
Example #4
0
        public void Partition_Derek()
        {
            var listPartition = new ListPartition();

            List <int> list = new() { 4, 0, 3, 2, 1, 5 };

            listPartition.Partition(list, 3);

            list[0].Should().BeLessOrEqualTo(3);
            list[1].Should().BeLessOrEqualTo(3);
            list[2].Should().BeLessOrEqualTo(3);
            list[3].Should().BeLessOrEqualTo(3);
            list[4].Should().BeGreaterOrEqualTo(3);
            list[5].Should().BeGreaterOrEqualTo(3);
        }
Example #5
0
        public void Partition_RepeatedWhithoutK()
        {
            var listPartition = new ListPartition();

            List <int> list = new() { -4, 5, 2, 1, 7, -4, 2, 0 };

            listPartition.Partition(list, 3);

            list[0].Should().BeLessOrEqualTo(3);
            list[1].Should().BeLessOrEqualTo(3);
            list[2].Should().BeLessOrEqualTo(3);
            list[3].Should().BeLessOrEqualTo(3);
            list[4].Should().BeLessOrEqualTo(3);
            list[5].Should().BeLessOrEqualTo(3);
            list[6].Should().BeGreaterOrEqualTo(3);
            list[7].Should().BeGreaterOrEqualTo(3);
        }
    }
 /// <inheritdoc/>
 /// <exception cref="NotSupportedException">Method is not supported.</exception>
 protected override IPathNode VisitListPartition(ListPartition listPartition)
 {
     throw new NotSupportedException();
 }