public void Setup() { _cacheV1 = new PageLocatorV1(null, CacheSize); _cacheV2 = new PageLocatorV2(null, CacheSize); _cacheV3 = new PageLocatorV3(null, CacheSize); _cacheV4 = new PageLocatorV4(null, CacheSize); _cacheV5 = new PageLocatorV5(null, CacheSize); _cacheV6 = new PageLocatorV6(null, CacheSize); _cacheV7 = new PageLocatorV7(null, CacheSize); var generator = new Random(RandomSeed); _pageNumbers = new List <long>(); for (int i = 0; i < NumberOfOperations; i++) { long valueBuffer = generator.Next(); valueBuffer += (long)generator.Next() << 32; valueBuffer += (long)generator.Next() << 64; valueBuffer += (long)generator.Next() << 96; _pageNumbers.Add(valueBuffer); } }
public void TestGetReadonly(int cacheSize) { var cache = new PageLocatorV7(null, cacheSize); // Test readonly page var p11 = cache.GetReadOnlyPage(5); var p12 = cache.GetReadOnlyPage(5); Debug.Assert(p11 == p12); cache.Reset(5); var p13 = cache.GetReadOnlyPage(5); Debug.Assert(p12 != p13); // Test writeable page var p21 = cache.GetWritablePage(6); var p22 = cache.GetWritablePage(6); Debug.Assert(p21 == p22); cache.Reset(6); var p23 = cache.GetWritablePage(6); Debug.Assert(p22 != p23); // Test change of status var p31 = cache.GetReadOnlyPage(7); var p32 = cache.GetWritablePage(7); Debug.Assert(p31 != p32); cache.Reset(7); var p33 = cache.GetWritablePage(7); Debug.Assert(p32 != p33); }