// Copyright (C) 2003 Davis E. King (davis@dlib.net) // License: Boost Software License See LICENSE.txt for the full license. #ifndef DLIB_BINARY_SEARCH_TREE_KERNEl_TEST_ #define DLIB_BINARY_SEARCH_TREE_KERNEl_TEST_ #include <sstream> #include <string> #include <cstdlib> #include <ctime> #include <dlib/memory_manager_global.h> #include <dlib/memory_manager_stateless.h> #include <dlib/binary_search_tree.h> #include "tester.h" #include "binary_search_tree.h" namespace { class binary_search_tree_tester : public tester { struct factory { template <typename U> struct return_type { typedef typename memory_manager<U>::kernel_1c type; }; template <typename U> static typename return_type<U>::type* get_instance ( ) { static typename return_type<U>::type instance; return &instance; } }; public: binary_search_tree_tester ( ) : tester ("test_binary_search_tree_mm1", "Runs tests on the binary_search_tree component with memory managers.") {} void perform_test ( ) { dlog << LINFO << "testing kernel_1a /w memory_manager_global"; binary_search_tree_kernel_test<binary_search_tree<int,int, memory_manager_global<char,factory>::kernel_1a>::kernel_1a>(); print_spinner(); dlog << LINFO << "testing kernel_1a /w memory_manager_stateless"; binary_search_tree_kernel_test<binary_search_tree<int,int, memory_manager_stateless<char>::kernel_1a>::kernel_1a>(); print_spinner(); } } a; } #endif