void TestFileFinder(void) { BeginTests(); CFileUtil cFileUtil; CArrayString aszFiles; aszFiles.Init(1); cFileUtil.FindFilesWithExtension("Finder", "txt", &aszFiles); AssertInt(5, aszFiles.NumElements()); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Ants.txt", aszFiles.Get(0)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\File.txt", aszFiles.Get(1)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Last.txt", aszFiles.Get(2)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Marching.txt", aszFiles.Get(3)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Ninja.txt", aszFiles.Get(4)->Text(), FALSE); aszFiles.Kill(); aszFiles.Init(1); cFileUtil.FindFilesWithNameContaining("Finder", "Mar", &aszFiles); AssertInt(3, aszFiles.NumElements()); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Glenmark.wav", aszFiles.Get(0)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\March.rar", aszFiles.Get(1)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Marching.txt", aszFiles.Get(2)->Text(), FALSE); aszFiles.Kill(); aszFiles.Init(1); cFileUtil.FindAllDirectories("Finder", &aszFiles); aszFiles.QuickSort(); AssertInt(5, aszFiles.NumElements()); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\.", aszFiles.Get(0)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\..", aszFiles.Get(1)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Lord", aszFiles.Get(2)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Rising", aszFiles.Get(3)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Storm", aszFiles.Get(4)->Text(), FALSE); aszFiles.Kill(); aszFiles.Init(1); cFileUtil.FindFilesWithExtension("Finder", "rar", &aszFiles, TRUE); AssertInt(6, aszFiles.NumElements()); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Lord\\1.rar", aszFiles.Get(0)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Rising\\2.rar", aszFiles.Get(1)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Storm\\3.rar", aszFiles.Get(2)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Ants.rar", aszFiles.Get(3)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Echo.rar", aszFiles.Get(4)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\March.rar", aszFiles.Get(5)->Text(), FALSE); aszFiles.Kill(); aszFiles.Init(1); cFileUtil.FindAllFiles("Finder", &aszFiles, TRUE); AssertInt(12, aszFiles.NumElements()); aszFiles.Kill(); TestStatistics(); }
void TestObjectsFlushNoClear(void) { CFileUtil cFileUtil; BOOL bResult; cFileUtil.RemoveDir("Output"); cFileUtil.MakeDir("Output/Flush1"); ObjectsInit("Output/Flush1"); SetupObjectsForDehollowfication(); AssertLongLongInt(0, gcObjects.NumDatabaseObjects()); AssertLongLongInt(0, gcObjects.NumDatabaseNames()); AssertLongLongInt(9, gcObjects.NumMemoryIndexes()); AssertLongLongInt(6, gcObjects.NumMemoryNames()); bResult = gcObjects.Flush(FALSE, FALSE); AssertTrue(bResult); AssertLongLongInt(9, gcObjects.NumDatabaseObjects()); AssertLongLongInt(6, gcObjects.NumDatabaseNames()); AssertLongLongInt(9, gcObjects.NumMemoryIndexes()); AssertLongLongInt(6, gcObjects.NumMemoryNames()); ObjectsKill(); CArrayChars aszFileNames; int i; CChars* psz; CChars szOutput; CChars szFileName; aszFileNames.Init(); cFileUtil.FindAllFiles("Input/Dehollowfication", &aszFileNames, FALSE, FALSE); for (i = 0; i < aszFileNames.NumElements(); i++) { psz = aszFileNames.Get(i); szFileName.Init(psz->Text()); cFileUtil.RemovePath(&szFileName); szOutput.Init(); cFileUtil.CurrentDirectory(&szOutput); cFileUtil.AppendToPath(&szOutput, "Output/Flush1"); cFileUtil.AppendToPath(&szOutput, szFileName.Text()); AssertFile(psz->Text(), szOutput.Text()); szOutput.Kill(); szFileName.Kill(); } aszFileNames.Kill(); }
BOOL CPackFiles::AddDirectory(char* szDirectory, char* szPackDirectory) { CFileUtil cFileUtil; CArrayChars aszFileNames; int i; CChars* pszFileName; CDiskFile cDiskFile; CChars szName; CChars szNameDirectory; BOOL bResult; BOOL bAnyFiles; aszFileNames.Init(); bAnyFiles = cFileUtil.FindAllFiles(szDirectory, &aszFileNames, TRUE, FALSE); if (!bAnyFiles) { aszFileNames.Kill(); return FALSE; } szNameDirectory.Init(szDirectory); for (i = 0; i < aszFileNames.NumElements(); i++) { pszFileName = aszFileNames.Get(i); cDiskFile.Init(pszFileName->Text()); cFileUtil.MakeNameFromDirectory(&szName, pszFileName, &szNameDirectory); if (szPackDirectory) { szName.Insert(0, '/'); szName.Insert(0, szPackDirectory); } bResult = AddFile(&cDiskFile, szName.Text()); szName.Kill(); cDiskFile.Kill(); if (!bResult) { aszFileNames.Kill(); return FALSE; } } aszFileNames.Kill(); return TRUE; }