1*bfdb37ccSIngo Weinhold /* 2*bfdb37ccSIngo Weinhold $Id: BlockCacheExerciseTest.h,v 1.1 2003/09/07 11:53:03 bonefish Exp $ 3*bfdb37ccSIngo Weinhold 4*bfdb37ccSIngo Weinhold This file defines a class for performing tests on the BBlockCache class. 5*bfdb37ccSIngo Weinhold 6*bfdb37ccSIngo Weinhold */ 7*bfdb37ccSIngo Weinhold 8*bfdb37ccSIngo Weinhold 9*bfdb37ccSIngo Weinhold #ifndef BlockCacheExerciseTest_H 10*bfdb37ccSIngo Weinhold #define BlockCacheExerciseTest_H 11*bfdb37ccSIngo Weinhold 12*bfdb37ccSIngo Weinhold 13*bfdb37ccSIngo Weinhold #include "cppunit/TestCase.h" 14*bfdb37ccSIngo Weinhold #include <List.h> 15*bfdb37ccSIngo Weinhold 16*bfdb37ccSIngo Weinhold 17*bfdb37ccSIngo Weinhold class BBlockCache; 18*bfdb37ccSIngo Weinhold 19*bfdb37ccSIngo Weinhold 20*bfdb37ccSIngo Weinhold class BlockCacheExerciseTest : public CppUnit::TestCase { 21*bfdb37ccSIngo Weinhold 22*bfdb37ccSIngo Weinhold private: 23*bfdb37ccSIngo Weinhold BBlockCache *theCache; 24*bfdb37ccSIngo Weinhold int numBlocksInCache; 25*bfdb37ccSIngo Weinhold size_t sizeOfBlocksInCache; 26*bfdb37ccSIngo Weinhold size_t sizeOfNonCacheBlocks; 27*bfdb37ccSIngo Weinhold 28*bfdb37ccSIngo Weinhold bool isMallocTest; 29*bfdb37ccSIngo Weinhold 30*bfdb37ccSIngo Weinhold BList freeList; 31*bfdb37ccSIngo Weinhold BList usedList; 32*bfdb37ccSIngo Weinhold BList nonCacheList; 33*bfdb37ccSIngo Weinhold 34*bfdb37ccSIngo Weinhold void BuildLists(void); 35*bfdb37ccSIngo Weinhold void *GetBlock(size_t blockSize); 36*bfdb37ccSIngo Weinhold void SaveBlock(void *, size_t blockSize); 37*bfdb37ccSIngo Weinhold void FreeBlock(void *, size_t blockSize); 38*bfdb37ccSIngo Weinhold void TestBlockCache(void); 39*bfdb37ccSIngo Weinhold 40*bfdb37ccSIngo Weinhold protected: 41*bfdb37ccSIngo Weinhold 42*bfdb37ccSIngo Weinhold public: 43*bfdb37ccSIngo Weinhold static CppUnit::Test *suite(void); 44*bfdb37ccSIngo Weinhold BlockCacheExerciseTest(std::string = ""); 45*bfdb37ccSIngo Weinhold virtual ~BlockCacheExerciseTest(); 46*bfdb37ccSIngo Weinhold virtual void PerformTest(void); 47*bfdb37ccSIngo Weinhold }; 48*bfdb37ccSIngo Weinhold 49*bfdb37ccSIngo Weinhold #endif 50