Exemplo n.º 1
0
        public void test_solution_givenArray_returnsMaxSliceSum(int[] given, int expected)
        {
            var target = new MaxSliceSum();
            var actual = target.solution(given);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 2
0
        public void MaxProfitTest()
        {
            var maxSlice = new MaxSliceSum();
            var nums     = new int[] { 23171, 21011, 21123, 21366, 21013, 21367 };

            Assert.Equal(356, maxSlice.MaxProfit(nums));
        }
Exemplo n.º 3
0
        public void Max_Slice_Sum_Should_Handle_Empty_Array()
        {
            MaxSliceSum subject = new MaxSliceSum();

            int[] array = { };

            Assert.Equal(0, subject.solution(array));
        }
Exemplo n.º 4
0
        public void Max_Slice_Sum_Should_Handle_Decreasing_Array()
        {
            MaxSliceSum subject = new MaxSliceSum();

            int[] array = { 1, 2, -8, 4, -5, 1 };

            Assert.Equal(4, subject.solution(array));
        }
Exemplo n.º 5
0
        public void Max_Slice_Sum_Should_Handle_Jumbled_Array()
        {
            MaxSliceSum subject = new MaxSliceSum();

            int[] array = { 1, 2, -8, 4, -5, 6 };

            Assert.Equal(6, subject.solution(array));
        }
Exemplo n.º 6
0
        public void Max_Slice_Sum_Should_Handle_Linear_Array()
        {
            MaxSliceSum subject = new MaxSliceSum();

            int[] array = { 1, 2, 3, 4, 5 };

            Assert.Equal(9, subject.solution(array));
        }
        public void GetMaxSliceSum_NegativeBig_SumAll()
        {
            var values = Enumerable.Range(-100_000, 100_000).ToArray();
            var solver = new MaxSliceSum();
            var maxSum = solver.GetMaxSliceSum(values);

            maxSum.Should().Be(-1);
        }
        public void GetMaxSliceSum_RepeatBig_SumAll()
        {
            var values = Enumerable.Repeat(1, 100_000).ToArray();
            var solver = new MaxSliceSum();
            var maxSum = solver.GetMaxSliceSum(values);

            maxSum.Should().Be(100_000);
        }
        public void GetMaxSliceSum_Sample_5()
        {
            var values = new[] { 3, 2, -6, 4, 0 };
            var solver = new MaxSliceSum();
            var maxSum = solver.GetMaxSliceSum(values);

            maxSum.Should().Be(5);
        }
Exemplo n.º 10
0
        public void WhenSendindDefaultArrayShouldReturn5()
        {
            var expectedValue = 5;
            var maxProfit     = new MaxSliceSum();
            var baseCaseArray = new int[] { 3, 2, -6, 4, 0 };
            var actualValue   = maxProfit.Solution(baseCaseArray);

            Assert.AreEqual(expectedValue, actualValue);
        }
Exemplo n.º 11
0
        public void MaxSliceTest()
        {
            var maxSlice = new MaxSliceSum();
            var nums     = new int[] { 2, 3, -3, 2 };
            var nums2    = new int[] { -2, -3, -1 };

            Assert.Equal(5, maxSlice.MaxSlice1(nums));
            Assert.Equal(5, maxSlice.MaxSlice2(nums));
            Assert.Equal(-1, maxSlice.MaxSlice2(nums2));
        }
Exemplo n.º 12
0
        public void Basic()
        {
            // Arrange
            int expected = 5;

            int[]       input = new int[] { 3, 2, -6, 4, 0 };
            MaxSliceSum act   = new MaxSliceSum();

            // Act
            int result = act.Solution(input);

            // Assert
            Assert.AreEqual(expected, result);
        }
Exemplo n.º 13
0
        public void AllNegativeProgressive()
        {
            // Arrange
            int expected = -6;

            int[]       input = new int[] { -10, -9, -8, -7, -6 };
            MaxSliceSum act   = new MaxSliceSum();

            // Act
            int result = act.Solution(input);

            // Assert
            Assert.AreEqual(expected, result);
        }
Exemplo n.º 14
0
        public void OneNegativeElement()
        {
            // Arrange
            int expected = -10;

            int[]       input = new int[] { -10 };
            MaxSliceSum act   = new MaxSliceSum();

            // Act
            int result = act.Solution(input);

            // Assert
            Assert.AreEqual(expected, result);
        }
Exemplo n.º 15
0
 public void Initialize()
 {
     _maxSliceSum = new MaxSliceSum();
 }