void TestRemappingOfChunkedFilesOIs(void) { CObjectWriterChunked cWriter; CObjectReaderChunkFileDisk cReader; cWriter.Init("Output/GraphDeserialiser/Simple/Remapping", "", "GraphFile"); cReader.Init("Output/GraphDeserialiser/Simple/Remapping", "GraphFile"); TestRemappingOfOIs(&cWriter, &cReader); }
void TestObjectReaderChunkedDeserialised(void) { CObjectReaderChunkFileDisk cReader; CObjectGraphDeserialiser cGraphDeserialiser; CPointer cBase; Ptr<CTestWithArray> cA1; Ptr<CTestWithArray> cA2; Ptr<CTestNamedString> cNS1; Ptr<CTestNamedString> cNS2; Ptr<CTestNamedString> cNS3; Ptr<CTestNamedString> cNS4; Ptr<CString> sz1; Ptr<CString> sz2; Ptr<CString> sz3; CPointer cTemp; Ptr<CTestInteger> cI1; Ptr<CTestInteger> cI2; Ptr<CTestInteger> cI3; CObjectAllocator cAllocator; CDependentReadObjects cDependentReadObjects; OIndex oiI1; OIndex oiI2; OIndex oiI3; int iNumMemoryIndexes; gcObjects.AddConstructor<CTestWithArray>(); gcObjects.AddConstructor<CTestInteger>(); gcObjects.AddConstructor<CTestNamedString>(); gcObjects.AddConstructor<CString>(); gcObjects.AddConstructor<CArrayObject>(); iNumMemoryIndexes = WriteObjectReaderChunkedFile(); AssertLongLongInt(0, gcObjects.NumDatabaseObjects()); AssertLongLongInt(14, iNumMemoryIndexes); ObjectsKill(); ObjectsInit(); gcObjects.AddConstructor<CTestWithArray>(); gcObjects.AddConstructor<CTestInteger>(); gcObjects.AddConstructor<CTestNamedString>(); gcObjects.AddConstructor<CString>(); gcObjects.AddConstructor<CArrayObject>(); AssertLongLongInt(0, gcObjects.NumDatabaseObjects()); AssertLongLongInt(0, gcObjects.NumMemoryIndexes()); cAllocator.Init(&gcObjects); cDependentReadObjects.Init(); cReader.Init("Output\\ObjectReaderChunked\\Test\\", "Reader"); cGraphDeserialiser.Init(&cReader, FALSE, &cAllocator, &cDependentReadObjects, gcObjects.GetMemory()); cBase = cGraphDeserialiser.Read("Array 1"); AssertTrue(cBase.IsNotNull()); AssertString("CTestWithArray", cBase.ClassName()); AssertLongLongInt(0, gcObjects.NumDatabaseObjects()); AssertLongLongInt(14, gcObjects.NumMemoryIndexes()); cA1 = gcObjects.Get("Array 1"); AssertTrue(cA1.IsNotNull()); AssertString("CTestWithArray", cA1->ClassName()); AssertString("Something with One", cA1->mszString.Text()); AssertInt(1, cA1->mx); AssertPointer(cBase.Object(), cA1.Object()); cA2 = gcObjects.Get("Array X"); AssertTrue(cA2.IsNotNull()); AssertString("CTestWithArray", cA2.ClassName()); AssertString("An with 2", cA2->mszString.Text()); AssertInt(2, cA2->mx); cNS1 = gcObjects.Get("NamedString 1"); AssertTrue(cNS1.IsNotNull()); AssertString("CTestNamedString", cNS1->ClassName()); AssertString("In Named 1", cNS1->mszEmbedded.Text()); cNS2 = gcObjects.Get("NamedString 2"); AssertTrue(cNS2.IsNotNull()); AssertString("CTestNamedString", cNS2->ClassName()); AssertString("Another in 2", cNS2->mszEmbedded.Text()); cNS3 = gcObjects.Get("NamedString 3"); AssertTrue(cNS3.IsNotNull()); AssertString("CTestNamedString", cNS3->ClassName()); AssertString("Three", cNS3->mszEmbedded.Text()); cNS4 = gcObjects.Get("NamedString 4"); AssertTrue(cNS4.IsNotNull()); AssertTrue(cBase.IsNotNull()); AssertString("CTestWithArray", cBase->ClassName()); AssertPointer(&cA1, &cBase); AssertNotNull(&cA1->mcArray); AssertInt(6, cA1->mcArray->NumElements()) sz2 = cA1->mcArray->Get(0); AssertString("Ye!", sz2->Text()); cTemp = cA1->mcArray->Get(1); AssertPointer(&cNS1, &cTemp); oiI1 = cGraphDeserialiser.GetNewIndexFromOld(5LL); oiI2 = cGraphDeserialiser.GetNewIndexFromOld(6LL); oiI3 = cGraphDeserialiser.GetNewIndexFromOld(7LL); cI1 = gcObjects.Get(oiI1); AssertString("CTestInteger", cI1->ClassName()); cI2 = gcObjects.Get(oiI2); AssertString("CTestInteger", cI2->ClassName()); cI3 = gcObjects.Get(oiI3); AssertString("CTestInteger", cI3->ClassName()); AssertInt(3, cI1->mx); AssertInt(2, cI1->my); AssertInt(1, cI1->mz); AssertPointer(&cNS2, &cNS1->mpAnother); AssertPointer(&cI1, &cA1->mcArray->Get(2)); AssertPointer(&cNS3, &cA1->mcArray->Get(3)); AssertPointer(&cNS1, &cNS3->mpAnother); AssertPointer(&cI2, &cA1->mcArray->Get(4)); AssertPointer(&cA2, &cA1->mcArray->Get(5)); AssertNotNull(&cA2->mcArray); AssertInt(4, cA2->mcArray->NumElements()); AssertPointer(&cI3, &cA2->mcArray->Get(0)); AssertPointer(&cNS2, &cA2->mcArray->Get(1)); AssertPointer(&cNS3, &cNS2->mpAnother); AssertPointer(&cI1, &cA2->mcArray->Get(2)); AssertPointer(&cNS4, &cA2->mcArray->Get(3)); AssertPointer(NULL, &cNS4->mpAnother); AssertPointer(NULL, &cNS4->mszString); cGraphDeserialiser.Kill(); cDependentReadObjects.Kill(); cAllocator.Kill(); cReader.Kill(); }