[SDK] One step further towards ReactOS source code tree restructure: the sdk folder...
[reactos.git] / reactos / lib / 3rdparty / stlport / test / unit / swap_test.cpp
diff --git a/reactos/lib/3rdparty/stlport/test/unit/swap_test.cpp b/reactos/lib/3rdparty/stlport/test/unit/swap_test.cpp
deleted file mode 100644 (file)
index 056cabf..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-#include <vector>
-#include <algorithm>
-#include <vector>
-#include <queue>
-
-#if 0 /* temporary: investigation of problem with swap */
-#include <iostream>
-#include <typeinfo>
-#endif
-
-#include "cppunit/cppunit_proxy.h"
-
-#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
-using namespace std;
-#endif
-
-//
-// TestCase class
-//
-class SwapTest : public CPPUNIT_NS::TestCase
-{
-  CPPUNIT_TEST_SUITE(SwapTest);
-  CPPUNIT_TEST(swap1);
-  CPPUNIT_TEST(swprnge1);
-  CPPUNIT_TEST(swap_container_non_spec);
-#if defined (STLPORT) && \
-   !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) && !defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
-  CPPUNIT_IGNORE;
-#endif
-  CPPUNIT_TEST(swap_container_spec);
-  CPPUNIT_TEST_SUITE_END();
-
-protected:
-  void swap1();
-  void swprnge1();
-  void swap_container_non_spec();
-  void swap_container_spec();
-};
-
-CPPUNIT_TEST_SUITE_REGISTRATION(SwapTest);
-
-//
-// tests implementation
-//
-void SwapTest::swap1()
-{
-  int a = 42;
-  int b = 19;
-  swap(a, b);
-
-  CPPUNIT_ASSERT(a==19);
-  CPPUNIT_ASSERT(b==42);
-}
-
-void SwapTest::swprnge1()
-{
-  char word1[] = "World";
-  char word2[] = "Hello";
-  swap_ranges((char*)word1, (char*)word1 + ::strlen(word1), (char*)word2);
-  CPPUNIT_ASSERT(!strcmp(word1, "Hello"));
-  CPPUNIT_ASSERT(!strcmp(word2, "World"));
-}
-
-class Obj
-{
-  public:
-    Obj() :
-        v( 0 )
-      { }
-    Obj( const Obj& ) :
-        v( 1 )
-      { }
-
-    Obj& operator =( const Obj& )
-      { v = 2; return *this; }
-
-    int v;
-};
-
-/*
- * Following two tests check the corectness of specialization of swap():
- * for containers with container::swap method swap( a, b ) should
- * use a.swap( b ), but don't try to do this substitution for container
- * without swap method (in this case swap should be made via explicit members
- * exchange; this assume usage of temporary object)
- *
- */
-void SwapTest::swap_container_non_spec()
-{
-  queue<Obj> v1;
-  queue<Obj> v2;
-
-  v1.push( Obj() );
-  v1.back().v = -1;
-  v1.push( Obj() );
-  v1.back().v = -2;
-
-  v2.push( Obj() );
-  v2.back().v = 10;  
-  v2.push( Obj() );
-  v2.back().v = 11;
-  v2.push( Obj() );
-  v2.back().v = 12;
-
-  CPPUNIT_CHECK( v1.size() == 2 );
-  CPPUNIT_CHECK( v2.size() == 3 );
-
-  swap( v1, v2 ); // this shouldn't try make it as v1.swap( v2 ), no queue::swap method!
-
-  CPPUNIT_CHECK( v1.size() == 3 );
-  CPPUNIT_CHECK( v2.size() == 2 );
-
-  // either copy constructor or assignment operator
-  CPPUNIT_CHECK( v1.front().v == 1 || v1.front().v == 2 );
-  CPPUNIT_CHECK( v1.back().v == 1 || v1.back().v == 2 );
-  CPPUNIT_CHECK( v2.front().v == 1 || v2.front().v == 2 );
-  CPPUNIT_CHECK( v2.back().v == 1 || v2.back().v == 2 );
-}
-
-void SwapTest::swap_container_spec()
-{
-#if 0 /* temporary: investigation of problem with swap */
-  if ( typeid(/* _STLP_PRIV */ _SwapImplemented<vector<Obj> >::_Ret) == typeid(_STLP_PRIV __false_type) ) {
-    cerr << "false type" << endl;
-  } else if ( typeid(/* _STLP_PRIV */ _SwapImplemented<vector<Obj> >::_Ret) == typeid(_STLP_PRIV __true_type) ) {
-    cerr << "true type" << endl;
-  } else {
-    cerr << "unknown type" << endl;
-  }
-#endif /* end of temporary */
-#if !defined (STLPORT) || \
-     defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) || defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
-  vector<Obj> v1;
-  vector<Obj> v2;
-
-  v1.push_back( Obj() );
-  v1.push_back( Obj() );
-
-  v1[0].v = -1;
-  v1[1].v = -2;
-
-  v2.push_back( Obj() );
-  v2.push_back( Obj() );
-  v2.push_back( Obj() );
-
-  v2[0].v = 10;
-  v2[1].v = 11;
-  v2[2].v = 12;
-
-  CPPUNIT_CHECK( v1.size() == 2 );
-  CPPUNIT_CHECK( v2.size() == 3 );
-
-  swap( v1, v2 ); // this should has effect v1.swap( v2 )
-
-  CPPUNIT_CHECK( v1.size() == 3 );
-  CPPUNIT_CHECK( v2.size() == 2 );
-
-  CPPUNIT_CHECK( v1[0].v == 10 );
-  CPPUNIT_CHECK( v1[1].v == 11 );
-  CPPUNIT_CHECK( v1[2].v == 12 );
-
-  CPPUNIT_CHECK( v2[0].v == -1 );
-  CPPUNIT_CHECK( v2[1].v == -2 );
-#endif
-}