#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}}; Solution1 solution1; Solution2 solution2; EXPECT_TRUE(solution1.threeSum(i) == o1 || solution1.threeSum(i) == o2); EXPECT_TRUE(solution2.threeSum(i) == o1 || solution2.threeSum(i) == o2); } TEST(Problem15, Case2) { vector i{0, 1, 1}; vector> o{}; Solution1 solution1; Solution2 solution2; EXPECT_EQ(solution1.threeSum(i), o); EXPECT_EQ(solution2.threeSum(i), o); } TEST(Problem15, Case3) { vector i{0, 0, 0}; vector> o{{0, 0, 0}}; Solution1 solution1; Solution2 solution2; EXPECT_EQ(solution1.threeSum(i), o); EXPECT_EQ(solution2.threeSum(i), o); } TEST(Problem15, Case4) { vector i{-1, 0, 1}; vector> o{{-1, 0, 1}}; Solution1 solution1; Solution2 solution2; EXPECT_EQ(solution1.threeSum(i), o); EXPECT_EQ(solution2.threeSum(i), o); } TEST(Problem15, Case5) { vector i{1, 2, -2, -1}; vector> o{}; Solution1 solution1; Solution2 solution2; EXPECT_EQ(solution1.threeSum(i), o); EXPECT_EQ(solution2.threeSum(i), o); }