Ejemplo n.º 1
0
    def test_w_shape(self):
        water = solve_water([5, 4, 3, 0, 3, 0, 3, 4, 5])

        self.assertEqual(water, 18)
Ejemplo n.º 2
0
    def test_staircase_right(self):
        water = solve_water([5, 4, 3, 2, 1])

        self.assertEqual(water, 0)
Ejemplo n.º 3
0
    def test_multiple_ponds_with_end_in_staircase(self):
        water = solve_water([4, 3, 2, 3, 1, 3, 2, 1, 0])

        self.assertEqual(water, 3)
Ejemplo n.º 4
0
    def test_multiple_ponds_with_beginning_in_staircase(self):
        water = solve_water([0, 1, 3, 2, 3, 1, 3])

        self.assertEqual(water, 3)
Ejemplo n.º 5
0
    def test_multiple_ponds_with_greater_right_max(self):
        water = solve_water([4, 3, 2, 4, 1, 3, 2, 1, 6])

        self.assertEqual(water, 12)
Ejemplo n.º 6
0
    def test_multiple_ponds_with_greater_middle_max(self):
        water = solve_water([4, 3, 2, 9, 1, 3, 2, 1, 2])

        self.assertEqual(water, 6)
Ejemplo n.º 7
0
    def test_multiple_ponds_with_greater_left_max(self):
        water = solve_water([5, 3, 2, 4, 1, 3, 2, 1, 2])

        self.assertEqual(water, 6)
Ejemplo n.º 8
0
    def test_multiple_ponds(self):
        water = solve_water([4, 3, 2, 4, 1, 3, 2, 1, 2])

        self.assertEqual(water, 6)
Ejemplo n.º 9
0
    def test_one_pond(self):
        water = solve_water([4, 3, 2, 4])

        self.assertEqual(water, 3)
Ejemplo n.º 10
0
    def test_flat(self):
        water = solve_water([0, 0, 0, 0])

        self.assertEqual(water, 0)
Ejemplo n.º 11
0
    def test_staircase_left(self):
        water = solve_water([1, 2, 3, 4, 5])

        self.assertEqual(water, 0)