ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

bvector_test.cpp
Go to the documentation of this file.
00001 #include <vector>
00002 
00003 #include "cppunit/cppunit_proxy.h"
00004 
00005 #if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES)
00006 using namespace std;
00007 #endif
00008 
00009 //
00010 // TestCase class
00011 //
00012 class BvectorTest : public CPPUNIT_NS::TestCase
00013 {
00014   CPPUNIT_TEST_SUITE(BvectorTest);
00015 #if !defined (STLPORT) || defined (_STLP_NO_EXTENSIONS)
00016   CPPUNIT_IGNORE;
00017 #endif
00018   CPPUNIT_TEST(bvec1);
00019   CPPUNIT_TEST_SUITE_END();
00020 
00021 protected:
00022   void bvec1();
00023 };
00024 
00025 CPPUNIT_TEST_SUITE_REGISTRATION(BvectorTest);
00026 
00027 //
00028 // tests implementation
00029 //
00030 void BvectorTest::bvec1()
00031 {
00032 #if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS)
00033   bool ii[3]= {1,0,1};
00034   bit_vector b(3);
00035 
00036   CPPUNIT_ASSERT(b[0]==0);
00037   CPPUNIT_ASSERT(b[1]==0);
00038   CPPUNIT_ASSERT(b[2]==0);
00039 
00040   b[0] = b[2] = 1;
00041 
00042   CPPUNIT_ASSERT(b[0]==1);
00043   CPPUNIT_ASSERT(b[1]==0);
00044   CPPUNIT_ASSERT(b[2]==1);
00045 
00046   b.insert(b.begin(),(bool*)ii, ii+2);
00047 
00048   CPPUNIT_ASSERT(b[0]==1);
00049   CPPUNIT_ASSERT(b[1]==0);
00050   CPPUNIT_ASSERT(b[2]==1);
00051   CPPUNIT_ASSERT(b[3]==0);
00052   CPPUNIT_ASSERT(b[4]==1);
00053 
00054   bit_vector bb = b;
00055   if (bb != b)
00056     exit(1);
00057 
00058   b[0] |= 0;
00059   b[1] |= 0;
00060   b[2] |= 1;
00061   b[3] |= 1;
00062   CPPUNIT_ASSERT(!((b[0] != 1) || (b[1] != 0) || (b[2] != 1) || (b[3] != 1)));
00063 
00064 
00065   bb[0] &= 0;
00066   bb[1] &= 0;
00067   bb[2] &= 1;
00068   bb[3] &= 1;
00069   CPPUNIT_ASSERT(!((bb[0] != 0) || (bb[1] != 0) || (bb[2] != 1) || (bb[3] != 0)));
00070 #endif
00071 }

Generated on Thu May 24 2012 04:35:45 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.