Ejemplo n.º 1
0
        public void Test_TRexSpatialMemoryCacheStorageTests_FillWithElementsThenOverflowBy(int numElements, int overflowBy)
        {
            var storage    = new TRexSpatialMemoryCacheStorage <ITRexMemoryCacheItem>(numElements, numElements / 2);
            var dummyCache = new TRexSpatialMemoryCacheContext(new TRexSpatialMemoryCache(1000, 1000, 0), storage);

            // Fill all available slots
            for (int i = 0; i < numElements; i++)
            {
                storage.Add(new TRexSpatialMemoryCacheContextTests_Element
                {
                    SizeInBytes  = 0,
                    CacheOriginX = (int)(2000 + i * SubGridTreeConsts.SubGridTreeDimension),
                    CacheOriginY = (int)(3000 + i * SubGridTreeConsts.SubGridTreeDimension)
                }, dummyCache);
            }

            Assert.False(storage.HasFreeSpace(), "Storage has free space when filled");

            for (int i = 0; i < overflowBy; i++)
            {
                storage.Add(new TRexSpatialMemoryCacheContextTests_Element
                {
                    SizeInBytes  = 0,
                    CacheOriginX = (int)(2000 + (numElements + i) * SubGridTreeConsts.SubGridTreeDimension),
                    CacheOriginY = (int)(3000 + (numElements + i) * SubGridTreeConsts.SubGridTreeDimension)
                }, dummyCache);
            }

            Assert.True(storage.TokenCount == numElements, $"Element count incorrect (= {storage.TokenCount})");
        }
Ejemplo n.º 2
0
        public void Test_TRexSpatialMemoryCacheStorageTests_AddOneElement()
        {
            ITRexSpatialMemoryCacheStorage <ITRexMemoryCacheItem> storage = new TRexSpatialMemoryCacheStorage <ITRexMemoryCacheItem>(100, 50);
            var dummyCache = new TRexSpatialMemoryCacheContext(new TRexSpatialMemoryCache(1000, 1000, 0), storage);

            storage.Add(new TRexSpatialMemoryCacheContextTests_Element
            {
                SizeInBytes  = 0,
                CacheOriginX = 2000,
                CacheOriginY = 3000
            }, dummyCache);

            Assert.True(storage.HasFreeSpace(), "Storage has no free space when filled with only one element");

            Assert.True(storage.TokenCount == 1, $"Element count incorrect (= {storage.TokenCount})");
        }