67 lines
1.7 KiB
C++
67 lines
1.7 KiB
C++
// 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
|