Exemple #1
0
        public void TestMethodCreated2()
        {
            var pool = new StandartPool <object>(() => new object(), 0);

            Assert.AreEqual(0, pool.Length);

            Assert.AreEqual(0, pool.Statistics.CreatedObjects);
            Assert.AreEqual(0, pool.Statistics.FreeCounter);
            Assert.AreEqual(0, pool.Statistics.GetCallCounter);
            Assert.AreEqual(0, pool.Statistics.PooledObjects);
            Assert.AreEqual(0, pool.Statistics.UsedObjects);

            var value = pool.Get();

            Assert.AreEqual(0, pool.Length);

            Assert.AreEqual(1, pool.Statistics.CreatedObjects);
            Assert.AreEqual(0, pool.Statistics.FreeCounter);
            Assert.AreEqual(1, pool.Statistics.GetCallCounter);
            Assert.AreEqual(0, pool.Statistics.PooledObjects);
            Assert.AreEqual(1, pool.Statistics.UsedObjects);

            pool.Free(value);
            Assert.AreEqual(1, pool.Length);

            Assert.AreEqual(1, pool.Statistics.CreatedObjects);
            Assert.AreEqual(1, pool.Statistics.FreeCounter);
            Assert.AreEqual(1, pool.Statistics.GetCallCounter);
            Assert.AreEqual(1, pool.Statistics.PooledObjects);
            Assert.AreEqual(0, pool.Statistics.UsedObjects);
        }
        private IProtocolParser CreateParser()
        {
            var pool        = new StandartPool <byte[]>(() => new byte[2048]);
            var poolStr     = new StringPool();
            var commandPool = new StandartPool <IRoomCommand>(() => new RoomCommand());

            return(new SimpleStringProtocolParser(pool, commandPool, poolStr));
        }