diff --git a/applications/test/DynamicList/DynamicListTest.C b/applications/test/DynamicList/DynamicListTest.C index 0233dbd474..6cdbb84890 100644 --- a/applications/test/DynamicList/DynamicListTest.C +++ b/applications/test/DynamicList/DynamicListTest.C @@ -43,20 +43,58 @@ int main(int argc, char *argv[]) ldl[0](3) = 3; ldl[0](1) = 1; - ldl[1](0) = 1; - ldl[1](1) = 2; + ldl[0].setSize(5); // increase allocated size + ldl[1].setSize(10); // increase allocated size + ldl[1](2) = 2; ldl[1] = 3; - Info<< ldl[1]; + Info<< "" << ldl << "" << nl << "sizes: "; + forAll(ldl, i) + { + Info<< " " << ldl[i].size() << "/" << ldl[i].allocSize(); + } + Info<< endl; List > ll(2); - ll[0].transfer(ldl[0].shrink()); + ll[0].transfer(ldl[0]); ll[1].transfer(ldl[1].shrink()); - Info<< ll << endl; + Info<< "" << ldl << "" << nl << "sizes: "; + forAll(ldl, i) + { + Info<< " " << ldl[i].size() << "/" << ldl[i].allocSize(); + } + Info<< endl; + + Info<< "" << ll << "" << nl << endl; + + + // test the transfer between DynamicLists + DynamicList dlA; + DynamicList dlB; + + for (label i = 0; i < 5; i++) + { + dlA.append(i); + } + dlA.setSize(10); + + Info<< "" << dlA << "" << nl << "sizes: " + << " " << dlA.size() << "/" << dlA.allocSize() << endl; + + dlB.transfer(dlA); + + // provokes memory error if previous transfer did not maintain + // the correct allocated space + dlB[6] = 6; + + Info<< "Transferred to dlB" << endl; + Info<< "" << dlA << "" << nl << "sizes: " + << " " << dlA.size() << "/" << dlA.allocSize() << endl; + Info<< "" << dlB << "" << nl << "sizes: " + << " " << dlB.size() << "/" << dlB.allocSize() << endl; - Info << "\nEnd\n" << endl; return 0; } diff --git a/applications/test/xfer/xferListTest.C b/applications/test/xfer/xferListTest.C index 6fce6b2bd0..0089569394 100644 --- a/applications/test/xfer/xferListTest.C +++ b/applications/test/xfer/xferListTest.C @@ -52,34 +52,48 @@ int main(int argc, char *argv[]) Info<< "lstA: " << lstA << endl; Info<< "lstC: " << lstC << endl; - xfer > xA(lstA, true); + xfer > xA = xferMove(lstA); xfer > xB; -// List