//Compile using g++ -std=c++14 ./test.cpp -o ./test int main(int argc, char* argv[]) { std::vector<int64_t> arr1={-9,-3,0,1,2,3,5,7,18}; std::vector<int64_t> arr2={-8,-3,1,3,4,6,7,8,9,10,11,18}; std::vector<int64_t> res={-3,1,3,7,18}; std::vector<int64_t> dup; std::vector<int64_t> dup2; //Print inputs print(arr1); print(arr2); print(res); //Solution 1 findDup(arr1,arr2,dup); print(dup); checkSolution(dup,res); //Solution 2 findDup2(arr1,arr2,dup2); print(dup2); checkSolution(dup2,res); return EXIT_SUCCESS; }
int findDupTest() { int errs = 0; ColValPair ja(0, 0); std::vector<ColValPair> v; std::vector<ColValPair>::iterator dup = findDup(ja, v); if (dup != v.end()) ++errs; v.push_back(ColValPair(1, 0)); dup = findDup(ja, v); if (dup != v.end()) ++errs; v.push_back(ColValPair(3, 0)); dup = findDup(ja, v); if (dup != v.end()) ++errs; dup = findDup(ColValPair(1, 0), v); if (dup == v.end()) ++errs; if (std::distance(v.begin(), dup) != 0) errs += 1; return errs; }