public void Rent_Success_RentFromSlab() { var slab = new SlabAllocatedPool <CellPass>(1024, 16); var rental = slab.Rent(); rental.Elements.Should().NotBeNull(); }
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 }
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); }