summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/test/stack.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/test/stack.cpp')
-rw-r--r--ml/dlib/dlib/test/stack.cpp294
1 files changed, 0 insertions, 294 deletions
diff --git a/ml/dlib/dlib/test/stack.cpp b/ml/dlib/dlib/test/stack.cpp
deleted file mode 100644
index 0b92eaeb9..000000000
--- a/ml/dlib/dlib/test/stack.cpp
+++ /dev/null
@@ -1,294 +0,0 @@
-// Copyright (C) 2005 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-
-
-#include <sstream>
-#include <string>
-#include <cstdlib>
-#include <ctime>
-#include <dlib/stack.h>
-
-#include "tester.h"
-
-namespace
-{
-
- using namespace test;
- using namespace dlib;
- using namespace std;
-
- logger dlog("test.stack");
-
- template <
- typename stack
- >
- void stack_kernel_test (
- )
- /*!
- requires
- - stack is an implementation of stack/stack_sort_abstract.h
- stack is instantiated with int
- ensures
- - runs tests on stack for compliance with the specs
- !*/
- {
-
-
- srand(static_cast<unsigned int>(time(0)));
-
- print_spinner();
-
- stack a1, a2;
-
-
-
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start());
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.size() == 0);
-
- swap(a1,a2);
- DLIB_TEST(a2.size() == 0);
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.at_start() == false);
- DLIB_TEST(a2.move_next() == false);
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.size() == 0);
- DLIB_TEST(a2.at_start() == false);
- DLIB_TEST(a2.size() == 0);
-
-
-
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start());
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.size() == 0);
-
- a1.reset();
- a2.reset();
-
- for (unsigned long k = 0; k < 4; ++k)
- {
-
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start());
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.size() == 0);
-
- swap(a1,a2);
- DLIB_TEST(a2.size() == 0);
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.at_start() == false);
- DLIB_TEST(a2.move_next() == false);
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.size() == 0);
- DLIB_TEST(a2.at_start() == false);
- DLIB_TEST(a2.size() == 0);
-
-
-
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start());
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.size() == 0);
-
- a1.clear();
- a2.clear();
-
-
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start());
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.size() == 0);
-
- swap(a1,a2);
- DLIB_TEST(a2.size() == 0);
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.at_start() == false);
- DLIB_TEST(a2.move_next() == false);
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.size() == 0);
- DLIB_TEST(a2.at_start() == false);
- DLIB_TEST(a2.size() == 0);
-
-
-
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start());
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.move_next() == false);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a1.at_start() == false);
- DLIB_TEST(a1.size() == 0);
-
- a1.clear();
- a2.clear();
-
-
- for (unsigned long i = 0; i < 100; ++i)
- {
- int a = (int)i;
- a1.push(a);
- }
-
- DLIB_TEST(a1.size() == 100);
-
- int count = 99;
- while (a1.move_next())
- {
- DLIB_TEST_MSG(a1.element() == count,a1.element() << " : " << count);
- --count;
- }
-
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.at_start() == false);
-
- a1.swap(a2);
-
- count = 99;
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.at_start() == false);
- DLIB_TEST(a1.current_element_valid() == false);
- DLIB_TEST(a1.at_start() == true);
-
- DLIB_TEST(a1.size() == 0);
- DLIB_TEST(a2.size() == 100);
- DLIB_TEST(a2.current() == 99);
-
- a2.reset();
- while (a2.move_next())
- {
- DLIB_TEST(a2.element() == count--);
- }
-
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.at_start() == false);
- int b = 4;
- a2.push(b);
- DLIB_TEST(a2.current_element_valid() == false);
- DLIB_TEST(a2.at_start() == true);
-
- DLIB_TEST(a2.current() == 4);
- int c = 0;
- a2.pop(c);
- DLIB_TEST(c == 4);
-
- // serialize the state of a2, then clear a2, then
- // load the state back into a2.
- ostringstream sout;
- serialize(a2,sout);
- DLIB_TEST(a2.at_start() == true);
- istringstream sin(sout.str());
- a2.clear();
- deserialize(a2,sin);
-
-
- count = 99;
- while (a2.size())
- {
- int a = 0;
- DLIB_TEST(a2.current() == count);
- DLIB_TEST(const_cast<const stack&>(a2).current() == count);
- a2.pop(a);
- DLIB_TEST(a == count--);
- }
-
-
-
-
-
-
- a1.clear();
- a2.clear();
- }
-
-
- {
- a1.clear();
- remover<int>& go = a1;
- for (int i = 0; i < 100; ++i)
- {
- int a = 3;
- a1.push(a);
- }
- DLIB_TEST(go.size() == 100);
- for (int i = 0; i < 100; ++i)
- {
- int a = 9;
- a1.remove_any(a);
- DLIB_TEST(a == 3);
- }
- DLIB_TEST(go.size() == 0);
- }
-
- }
-
-
-
-
- class stack_tester : public tester
- {
- public:
- stack_tester (
- ) :
- tester ("test_stack",
- "Runs tests on the stack component.")
- {}
-
- void perform_test (
- )
- {
- dlog << LINFO << "testing kernel_1a";
- stack_kernel_test<stack<int>::kernel_1a> ();
- dlog << LINFO << "testing kernel_1a_c";
- stack_kernel_test<stack<int>::kernel_1a_c>();
- }
- } a;
-
-}
-