#include "s0015_3sum.hpp" #include TEST(Problem15, Case1) { vector i{-1, 0, 1, 2, -1, -4}; vector> o1{{-1, -1, 2}, {-1, 0, 1}}; vector> o2{{-1, 0, 1}, {-1, -1, 2}}; S0015 solution; EXPECT_TRUE(solution.threeSum1(i) == o1 || solution.threeSum1(i) == o2); EXPECT_TRUE(solution.threeSum2(i) == o1 || solution.threeSum2(i) == o2); } TEST(Problem15, Case2) { vector i{0, 1, 1}; vector> o{}; S0015 solution; EXPECT_EQ(solution.threeSum1(i), o); EXPECT_EQ(solution.threeSum2(i), o); } TEST(Problem15, Case3) { vector i{0, 0, 0}; vector> o{{0, 0, 0}}; S0015 solution; EXPECT_EQ(solution.threeSum1(i), o); EXPECT_EQ(solution.threeSum2(i), o); } TEST(Problem15, Case4) { vector i{-1, 0, 1}; vector> o{{-1, 0, 1}}; S0015 solution; EXPECT_EQ(solution.threeSum1(i), o); EXPECT_EQ(solution.threeSum2(i), o); } TEST(Problem15, Case5) { vector i{1, 2, -2, -1}; vector> o{}; S0015 solution; EXPECT_EQ(solution.threeSum1(i), o); EXPECT_EQ(solution.threeSum2(i), o); }