Exemple #1
0
        public void WorkingTest()
        {
            // Assert
            PoolingManager_Component <TestPoolingObject> pPoolingManager = PoolingManager_Component <TestPoolingObject> .instance;

            pPoolingManager.DoDestroyAll();
            Dictionary <ETestPoolingObjectName, TestPoolingObject> mapObjectInstance = InitTest();

            Assert.AreEqual(0, TestPoolingObject.GetActiveCount(ETestPoolingObjectName.Test1));
            Assert.AreEqual(0, TestPoolingObject.GetActiveCount(ETestPoolingObjectName.Test2));


            // Test1
            List <TestPoolingObject> listObjectPooling = new List <TestPoolingObject>();

            for (int i = 0; i < 10; i++)
            {
                listObjectPooling.Add(pPoolingManager.DoPop(mapObjectInstance[ETestPoolingObjectName.Test1]));
            }

            Assert.AreEqual(10, TestPoolingObject.GetActiveCount(ETestPoolingObjectName.Test1));
            Assert.AreEqual(0, TestPoolingObject.GetActiveCount(ETestPoolingObjectName.Test2));

            for (int i = 0; i < listObjectPooling.Count; i++)
            {
                pPoolingManager.DoPush(listObjectPooling[i]);
            }

            Assert.AreEqual(0, TestPoolingObject.GetActiveCount(ETestPoolingObjectName.Test1));
            Assert.AreEqual(0, TestPoolingObject.GetActiveCount(ETestPoolingObjectName.Test2));


            // Test2
            listObjectPooling.Clear();
            for (int i = 0; i < 5; i++)
            {
                listObjectPooling.Add(pPoolingManager.DoPop(mapObjectInstance[ETestPoolingObjectName.Test2]));
            }

            // Active Check
            for (int i = 0; i < listObjectPooling.Count; i++)
            {
                Assert.AreEqual(true, listObjectPooling[i].gameObject.activeSelf);
            }

            Assert.AreEqual(5, TestPoolingObject.GetActiveCount(ETestPoolingObjectName.Test2));

            for (int i = 0; i < listObjectPooling.Count; i++)
            {
                pPoolingManager.DoPush(listObjectPooling[i]);
            }

            // Active Check - 리턴했기 때문에 False
            for (int i = 0; i < listObjectPooling.Count; i++)
            {
                Assert.AreEqual(false, listObjectPooling[i].gameObject.activeSelf);
            }

            Assert.AreEqual(0, TestPoolingObject.GetActiveCount(ETestPoolingObjectName.Test2));
        }
Exemple #2
0
 public void DoPush(TCONTAINED_CLASS pObject)
 {
     _pPool.DoPush(pObject);
 }