Skip to content

Commit 4995696

Browse files
committed
ref: add edges tests
1 parent 2f1beb4 commit 4995696

File tree

1 file changed

+29
-9
lines changed

1 file changed

+29
-9
lines changed

dynamic_programming/trapped_rainwater.cpp

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
#include <algorithm> /// For std::min and std::max
1111
#include <cassert> /// For assert
12-
#include <iostream> /// For IO operations
1312
#include <vector> /// For vector container
1413

1514
/*
@@ -58,17 +57,38 @@ int trappedRainwater(const std::vector<int>& heights) {
5857
* @returns void
5958
*/
6059
static void test() {
61-
std::vector<int> heights0 = {0, 1};
62-
assert(dynamic_programming::trappedRainwater(heights0) == 0);
60+
std::vector<int> test_basic = {0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1};
61+
assert(dynamic_programming::trappedRainwater(test_basic) == 6);
6362

64-
std::vector<int> heights1 = {0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1};
65-
assert(dynamic_programming::trappedRainwater(heights1) == 6);
63+
std::vector<int> test_peak_under_water = {3, 0, 2, 0, 4};
64+
assert(dynamic_programming::trappedRainwater(test_peak_under_water) == 7);
6665

67-
std::vector<int> heights2 = {3, 0, 0, 2, 0, 4};
68-
assert(dynamic_programming::trappedRainwater(heights2) == 10);
66+
std::vector<int> test_bucket = {5, 1, 5};
67+
assert(dynamic_programming::trappedRainwater(test_bucket) == 4);
6968

70-
std::vector<int> heights3 = {1, 2, 3, 4, 5};
71-
assert(dynamic_programming::trappedRainwater(heights3) == 0);
69+
std::vector<int> test_skewed_bucket = {4, 1, 5};
70+
assert(dynamic_programming::trappedRainwater(test_skewed_bucket) == 3);
71+
72+
std::vector<int> test_empty = {};
73+
assert(dynamic_programming::trappedRainwater(test_empty) == 0);
74+
75+
std::vector<int> test_flat = {0, 0, 0, 0, 0};
76+
assert(dynamic_programming::trappedRainwater(test_flat) == 0);
77+
78+
std::vector<int> test_no_trapped_water = {1, 1, 2, 4, 0, 0, 0};
79+
assert(dynamic_programming::trappedRainwater(test_no_trapped_water) == 0);
80+
81+
std::vector<int> test_single_elevation = {5};
82+
assert(dynamic_programming::trappedRainwater(test_single_elevation) == 0);
83+
84+
std::vector<int> test_two_point_elevation = {5, 1};
85+
assert(dynamic_programming::trappedRainwater(test_two_point_elevation) ==
86+
0);
87+
88+
std::vector<int> test_large_elevation_map_difference = {5, 1, 6, 1,
89+
7, 1, 8};
90+
assert(dynamic_programming::trappedRainwater(
91+
test_large_elevation_map_difference) == 15);
7292
}
7393

7494
/**

0 commit comments

Comments
 (0)