public void GetNextSlice_DiminishButNotToZeroFirstSlice() { var A = new[] { 3, 2, -4, 1, 1 }; var nextSliceStart = 0; var expected = new Solution.Slice() { MinIndex = 0, MaxIndex = 1, Sum = 5, SliceLength = 2, MaxValueInSlice = 3 }; var actual = Solution.GetNextSlice(A, nextSliceStart); Assert.IsTrue(SlicesAreEqual(expected, actual)); }
public void GetNextSlice_ExampleSecondSlice() { var A = new[] { 3, 2, -6, 3, 1 }; var nextSliceStart = 2; var expected = new Solution.Slice() { MinIndex = 2, MaxIndex = 2, Sum = -6, SliceLength = 1, MaxValueInSlice = -6 }; var actual = Solution.GetNextSlice(A, nextSliceStart); Assert.IsTrue(SlicesAreEqual(expected, actual)); }
public void GetNextSlice_DiminishedThenExceeded_JustOneSlice() { var A = new[] { 3, 2, -4, 3, 3 }; var nextSliceStart = 0; var expected = new Solution.Slice() { MinIndex = 0, MaxIndex = 4, Sum = 7, SliceLength = 5, MaxValueInSlice = 3 }; var actual = Solution.GetNextSlice(A, nextSliceStart); Assert.IsTrue(SlicesAreEqual(expected, actual)); }