Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenbvector_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
1.7.6.1
|