Пример #1
0
        public void Rent_Success_RentFromSlab()
        {
            var slab = new SlabAllocatedPool <CellPass>(1024, 16);

            var rental = slab.Rent();

            rental.Elements.Should().NotBeNull();
        }
Пример #2
0
        public void Creation()
        {
            var slab = new SlabAllocatedPool <CellPass>(1024, 16);

            slab.Should().NotBeNull();
            slab.PoolSize.Should().Be(1024);
            slab.ArraySize.Should().Be(16);

            slab.Capacity.Should().Be(0); // Capacity always zero to start
        }
Пример #3
0
        public void Rent_Success_RentFromEmptySlab()
        {
            var slab = new SlabAllocatedPool <CellPass>(16, 16);

            var rental = slab.Rent();

            rental.Elements.Should().NotBeNull();

            slab.RentalTideLevel.Should().Be(0);

            var rental2 = slab.Rent();

            rental2.Elements.Should().NotBeNull();
            rental2.Elements.Length.Should().Be(slab.ArraySize);
            rental2.Elements.Should().NotBeSameAs(rental.Elements);
        }