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 CImageCelsSource::AddDiskFileSources(char* szPathName, char* szFileNameContains, char* szImageName, CImageCelSource* pcCelSource) { CFileUtil cFileUtil; CArrayString cFileNames; int i; CChars* pszName; CImageSourceDiskFile* pcDiskFile; CChars szNiceName; int iIndex; int iLen; if (!szFileNameContains) { return; } iLen = (int)strlen(szFileNameContains); if (iLen == 0) { return; } cFileNames.Init(32); cFileUtil.FindFilesWithNameContaining(szPathName, szFileNameContains, &cFileNames, FALSE); for (i = 0; i < cFileNames.NumElements(); i++) { pszName = cFileNames.Get(i); pcDiskFile = UMalloc(CImageSourceDiskFile); if (szImageName) { szNiceName.Init(*pszName); cFileUtil.RemovePath(&szNiceName); cFileUtil.RemoveExtension(&szNiceName); iIndex = szNiceName.Find(0, szFileNameContains); iIndex += iLen; szNiceName.RemoveFromStart(iIndex); szNiceName.Insert(0, szImageName); pcDiskFile->Init(pszName->Text(), szNiceName.Text()); szNiceName.Kill(); } else { pcDiskFile->Init(pszName->Text()); } AddSource(pcDiskFile, pcCelSource); } cFileNames.Kill(); }