public void StackAllocatorTest()
        {
            StackAllocator allocator = new StackAllocator(1000);

            Assert.AreSame(allocator, Allocator.GetAllocatorByID(allocator.ID));
            Assert.IsTrue(Allocator.IsCached(allocator));

            int *p = allocator.Allocate <int>(4);

            for (int i = 0; i < 4; i++)
            {
                p[i] = i + 1;
            }

            Assert.AreEqual(1, p[0]);
            Assert.AreEqual(2, p[1]);
            Assert.AreEqual(3, p[2]);
            Assert.AreEqual(4, p[3]);

            p = allocator.Reallocate(p, 6);

            Assert.AreEqual(1, p[0]);
            Assert.AreEqual(2, p[1]);
            Assert.AreEqual(3, p[2]);
            Assert.AreEqual(4, p[3]);
            Assert.AreEqual(0, p[4]);
            Assert.AreEqual(0, p[5]);

            allocator.Free(p);
            allocator.Dispose();
            Assert.IsFalse(Allocator.IsCached(allocator));
        }
Ejemplo n.º 2
0
 public void Close()
 {
     stackAllocator.Dispose();
 }
Ejemplo n.º 3
0
 public void Close()
 {
     arenaAllocator.Dispose();
     stackAllocator.Dispose();
     fixedPoolAllocator.Dispose();
 }