def test_linearmaxarray_knowswhentoend(self): arr = [-4, 1, 1, 1, 3, -2, -9] actual = dac.linear_maxsubarray(arr) expected = (1, 4, 6) self.assertEqual(expected, actual)
def test_linearmaxarray_continuesovernegatives(self): arr = [-4, 1, 5, -3, 4, -7] actual = dac.linear_maxsubarray(arr) expected = (1, 4, 7) self.assertEqual(expected, actual)
def test_linearmaxarray_skipnegatives(self): arr = [-4, 1, 1, 2, -4] actual = dac.linear_maxsubarray(arr) expected = (1, 3, 4) self.assertEqual(expected, actual)
def test_linearmaxarray_straightforward(self): arr = [1, 2, 3, -100, -100] actual = dac.linear_maxsubarray(arr) expected = (0, 2, 6) self.assertEqual(expected, actual)
def test_linearmaxarray_allnegative(self): actual = dac.linear_maxsubarray([-3, -1, -3]) expected = (1, 1, -1) self.assertEqual(expected, actual)
def test_linearmaxarray_allPositive(self): actual = dac.linear_maxsubarray([1, 1, 1]) expected = (0, 2, 3) self.assertEqual(expected, actual)
def test_linearmaxarray_singleElement(self): actual = dac.linear_maxsubarray([3]) expected = (0, 0, 3) self.assertEqual(expected, actual)