--- trunk/test/brains/SnapshotTestCase.cpp 2004/10/22 23:00:06 145 +++ trunk/test/brains/SnapshotTestCase.cpp 2004/10/22 23:09:57 146 @@ -3,17 +3,44 @@ void SnapshotTestCase::setUp() { CPPUNIT_TEST_SUITE_REGISTRATION( SnapshotTestCase ); void SnapshotTestCase::setUp() { + } void SnapshotTestCase::tearDown() { + } + +void SnapshotTestCase::testMemoryLayout(){ + //test memory layout + vector v; + const int num = 10000000; + v.insert(v.end(), num, Vector3d(2.3, 0.84, 0.18)); + + double* sbegin = v[0].getArrayPointer(); + double* send = v[num-1].getArrayPointer() + 3; + + CPPUNIT_ASSERT_EQUAL(sizeof(Vector3d), sizeof(double) *3); + CPPUNIT_ASSERT_EQUAL((unsigned int) sbegin,(unsigned int) &v[0]); + CPPUNIT_ASSERT_EQUAL((unsigned int) send , (unsigned int)&v[num]); + + //test memory access + sbegin[12] = 32.01243; + sbegin[13] = 1.023343; + sbegin[14] = 82.025568; + + CPPUNIT_ASSERT_DOUBLES_EQUAL(v[4][0], 32.01243, 0.00001); + CPPUNIT_ASSERT_DOUBLES_EQUAL(v[4][1], 1.023343, 0.00001); + CPPUNIT_ASSERT_DOUBLES_EQUAL(v[4][2], 82.025568, 0.00001); + + + +} + void SnapshotTestCase::testConstructors(){ Snapshot s; - s.pos.push_back(Vector3d(0, 1, 2)); - s.zAngle.push_back(1.0); + s.atomData.zAngle.push_back(1.0); - double *p = Snapshot::getArrayPointer(s.zAngle); + double *p = Snapshot::getArrayPointer( s.atomData.zAngle); - p = Snapshot::getArrayPointer(s.pos); -} +} \ No newline at end of file