1e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <vector> 2e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 3e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include "cppunit/cppunit_proxy.h" 4e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 5e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES) 6e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottusing namespace std; 7e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 8e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 9e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 10e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// TestCase class 11e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 12e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass BvectorTest : public CPPUNIT_NS::TestCase 13e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott{ 14e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST_SUITE(BvectorTest); 15e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (STLPORT) || defined (_STLP_NO_EXTENSIONS) 16e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_IGNORE; 17e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST(bvec1); 19e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_TEST_SUITE_END(); 20e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 21e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottprotected: 22e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void bvec1(); 23e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott}; 24e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 25e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottCPPUNIT_TEST_SUITE_REGISTRATION(BvectorTest); 26e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 27e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 28e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// tests implementation 29e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 30e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottvoid BvectorTest::bvec1() 31e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott{ 32e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS) 33e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bool ii[3]= {1,0,1}; 34e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bit_vector b(3); 35e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 36e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[0]==0); 37e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[1]==0); 38e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[2]==0); 39e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 40e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott b[0] = b[2] = 1; 41e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 42e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[0]==1); 43e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[1]==0); 44e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[2]==1); 45e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 46e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott b.insert(b.begin(),(bool*)ii, ii+2); 47e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 48e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[0]==1); 49e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[1]==0); 50e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[2]==1); 51e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[3]==0); 52e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(b[4]==1); 53e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 54e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bit_vector bb = b; 55e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott if (bb != b) 56e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott exit(1); 57e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 58e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott b[0] |= 0; 59e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott b[1] |= 0; 60e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott b[2] |= 1; 61e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott b[3] |= 1; 62e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(!((b[0] != 1) || (b[1] != 0) || (b[2] != 1) || (b[3] != 1))); 63e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 64e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 65e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bb[0] &= 0; 66e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bb[1] &= 0; 67e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bb[2] &= 1; 68e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott bb[3] &= 1; 69e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott CPPUNIT_ASSERT(!((bb[0] != 0) || (bb[1] != 0) || (bb[2] != 1) || (bb[3] != 0))); 70e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 71e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott} 72