Пример #1
0
        public IEnumerator Boss_Defeated_TimeOut_Defeated_Test()
        {
            bool isBossFinished = false, isBossEnded = false;
            int  enemyChangeCount = 0;

            EventHandler <EventArgs> onBossFinished = (o, s) => isBossFinished = true;
            EventHandler <EventArgs> onEnemyChange  = (o, s) => enemyChangeCount++;
            EventHandler <EventArgs> onEnemyEnded   = (o, s) => isBossEnded = true;

            Boss            testBoss              = DataInjectorTestHelerMethod.GetTestMockBoss(1).GetComponent <Boss>();
            IEnemyComponent testBossComponent     = testBoss.IntializeEnemyComponent();
            Boss            testBossComponentCast = (Boss)testBossComponent;

            testBossComponentCast.OnEnemyConditionChange += onEnemyChange;
            testBossComponentCast.OnEnemyFinished        += onBossFinished;
            testBossComponentCast.OnEnemyEnd             += onEnemyEnded;

            testBossComponentCast.ActiveEnemyComponent();

            yield return(new WaitForSecondsRealtime(7.05f));

            testBossComponentCast.DeactiveEnemyComponent();

            Debug.Log($"{enemyChangeCount} {isBossFinished.ToString()}");
            Assert.That(enemyChangeCount == 3 && isBossFinished && isBossEnded);
        }