// 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
    {
    public:
        binary_search_tree_tester (
        ) :
            tester ("test_binary_search_tree_kernel_2a",
                    "Runs tests on the binary_search_tree_kernel_2a component.")
        {}

        void perform_test (
        )
        {
            dlog << LINFO << "testing kernel_2a";
            binary_search_tree_kernel_test<binary_search_tree<int,int>::kernel_2a>();
            print_spinner();

            dlog << LINFO << "testing kernel_2a_c";
            binary_search_tree_kernel_test<binary_search_tree<int,int>::kernel_2a_c>();
            print_spinner();
        }
    } a;

}

#endif
