コード例 #1
0
        public void SetUp()
        {
            var runnerCards = new List <Card>();

            for (int i = 0; i < 20; i++)
            {
                runnerCards.Add(new Diesel());
            }
            game = new MockGames().WithRunnerCards(runnerCards);
            var gameFlowLog = new GameFlowLog();

            gameFlowLog.Display(game);
            passiveCorp         = new PassiveCorp(game);
            ffRunner            = new FastForwardRunner(game);
            paidAbilityObserver = new PaidAbilityObserver();
            hopper = new SportsHopper();
            game.runner.paidWindow.ObserveAbility(paidAbilityObserver);
        }
コード例 #2
0
        async public void ShouldDiscard()
        {
            var runnerCards = new List <Card>();

            for (int i = 0; i < 20; i++)
            {
                runnerCards.Add(new Diesel());
            }
            var game = new MockGames().WithRunnerCards(runnerCards);

            game.Start();
            var passiveCorp = new PassiveCorp(game);
            await passiveCorp.SkipTurn();

            var grip           = game.runner.zones.grip;
            var heap           = game.runner.zones.heap;
            var actionCard     = game.runner.actionCard;
            var gripObserver   = new GripObserver();
            var heapObserver   = new HeapObserver();
            var clicksObserver = new SpentClicksObserver();

            grip.zone.ObserveRemovals(gripObserver);
            heap.zone.ObserveAdditions(heapObserver);
            game.runner.clicks.Observe(clicksObserver);
            for (int i = 0; i < 3; i++)
            {
                var diesel = grip.Find <Diesel>();
                await actionCard.TakeAction();

                await actionCard.Play(diesel).Trigger(game);
            }
            await actionCard.draw.Trigger(game);

            for (int i = 0; i < 7; i++)
            {
                var card = grip.Find <Diesel>();
                game.runner.zones.grip.Discard(card, heap);
            }
            await passiveCorp.SkipTurn();

            Assert.AreEqual(0, clicksObserver.Spent);
            Assert.AreEqual(10, gripObserver.TotalRemoved);
            Assert.AreEqual(10, heapObserver.TotalAdded);
        }