def test_with_preceeding_lower_bound_of_points_length_as_0(self): solve([], 1)
def test_with_several_points_and_length_as_refill_distance(self): self.assertEqual(5, solve([ 1, 3, 5, 7, 9, 11, 13 ], 2)) self.assertEqual(5, solve([ 1, 3, 5, 7, 9, 11, 13 ], 3)) self.assertEqual(3, solve([ 1, 3, 5, 7, 9, 13, 15 ], 4))
def test_with_several_points_and_length_as_more_than_trip_distance(self): self.assertEqual(0, solve([ 1, 3, 5, 7, 9, 13, 15 ], 15))
def test_with_three_points_and_length_as_more_than_trip_distance(self): self.assertEqual(0, solve([ 1, 3, 5 ], 4))
def test_with_several_points_and_length_as_unreachable(self): self.assertEqual(-1, solve([ 1, 3, 5, 7, 9, 11, 13 ], 1)) self.assertEqual(-1, solve([ 1, 3, 5, 7, 9, 11, 14 ], 2)) self.assertEqual(-1, solve([ 1, 3, 5, 7, 9, 13, 15 ], 2))
def test_with_three_points_and_length_as_more_than_refill_distance(self): self.assertEqual(1, solve([ 1, 3, 5 ], 3))
def test_with_three_points_and_length_as_unreachable(self): self.assertEqual(-1, solve([ 1, 3, 5 ], 1))
def test_with_three_points_and_length_as_zero(self): self.assertEqual(-1, solve([ 1, 3, 5 ], 0))
def test_with_two_points_and_length_as_trip_distance(self): self.assertEqual(0, solve([ 1, 3 ], 2))
def test_with_preceeding_lower_bound_of_length(self): solve([ 1, 2 ], -1)