#include #include #include #include int main() { // Subject's tests { int a = 2; int b = 3; ::swap( a, b ); std::cout << "a = " << a << ", b = " << b << std::endl; std::cout << "min( a, b ) = " << ::min( a, b ) << std::endl; std::cout << "max( a, b ) = " << ::max( a, b ) << std::endl; std::string c = "chaine1"; std::string d = "chaine2"; ::swap(c, d); std::cout << "c = " << c << ", d = " << d << std::endl; std::cout << "min( c, d ) = " << ::min( c, d ) << std::endl; std::cout << "max( c, d ) = " << ::max( c, d ) << std::endl; } // My tests { int a = 6; int b = 7; swap(a, b); assert(a == 7 && b == 6); swap(a, b); assert(a == 6 && b == 7); assert(min(a, b) == 6 && max(a, b) == 7); } { double a = 6.0; double b = 7.0; swap(a, b); assert(a == 7 && b == 6); swap(a, b); assert(a == 6 && b == 7); assert(min(a, b) == 6 && max(a, b) == 7); } { std::string a = "Frank"; std::string b = "LeBoeuf"; ::swap(a, b); assert(a == "LeBoeuf" && b == "Frank"); ::swap(a, b); assert(a == "Frank" && b == "LeBoeuf"); assert(::min(a, b) == "Frank" && ::max(a, b) == "LeBoeuf"); } }