    // Copyright (C) 2003  Davis E. King (davis@dlib.net)
    // License: Boost Software License   See LICENSE.txt for the full license.

    #include <sstream>
    #include <string>
    #include <ctime>
    #include <cstdlib>

    #include <dlib/conditioning_class.h>

    #include "tester.h"
    #include "conditioning_class.h"

    namespace
    {

        class conditioning_class_tester : public tester
        {
        public:
            conditioning_class_tester (
            ) :
                tester ("test_conditioning_class_c",
                        "Runs tests on the conditioning_class checked components.")
            {}

            void perform_test (
            )
            {
                dlog << LINFO << "testing kernel_1a_c";
                conditioning_class_kernel_test<
                    conditioning_class<256>::kernel_1a_c,
                    conditioning_class<2>::kernel_1a_c
                    >();
                print_spinner();

                dlog << LINFO << "testing kernel_2a_c";
                conditioning_class_kernel_test<
                    conditioning_class<256>::kernel_2a_c,
                    conditioning_class<2>::kernel_2a_c
                    >();
                print_spinner();

                dlog << LINFO << "testing kernel_3a_c";
                conditioning_class_kernel_test<
                    conditioning_class<256>::kernel_3a_c,
                    conditioning_class<2>::kernel_3a_c
                    >();
                print_spinner();

                dlog << LINFO << "testing kernel_4a_c";
                conditioning_class_kernel_test<
                    conditioning_class<256>::kernel_4a_c,
                    conditioning_class<2>::kernel_4a_c
                    >();
                print_spinner();

                dlog << LINFO << "testing kernel_4b_c";
                conditioning_class_kernel_test<
                    conditioning_class<256>::kernel_4b_c,
                    conditioning_class<2>::kernel_4b_c
                    >();
                print_spinner();

                dlog << LINFO << "testing kernel_4c_c";
                conditioning_class_kernel_test<
                    conditioning_class<256>::kernel_4c_c,
                    conditioning_class<2>::kernel_4c_c
                    >();
                print_spinner();

                dlog << LINFO << "testing kernel_4d_c";
                conditioning_class_kernel_test<
                    conditioning_class<256>::kernel_4d_c,
                    conditioning_class<2>::kernel_4d_c
                    >();
                print_spinner();

            }
        } a;

    }