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

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

        self.assertEqual(water, 0)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio n. 8
0
    def test_multiple_ponds(self):
        water = solve_water([4, 3, 2, 4, 1, 3, 2, 1, 2])

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

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

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

        self.assertEqual(water, 0)