Пример #1
0
        public void SaveStateTest()
        {
            //Arrange
            var playerState        = new PlayerState(new RobotStub(null), new GameHistory());
            var playerStateService = new PlayerStateService(playerState);

            //Act
            playerStateService.SaveState();

            //Assert
            Assert.NotEmpty(playerState.History.History);
            Assert.Equal(playerState.GameRobot.BatteryCharge, playerState.History.History.Peek().BatteryCharge);
        }
Пример #2
0
        public void ReduceBatteryChargeTest(int charge)
        {
            //Arrange
            var playerState        = new PlayerState(new RobotStub(null), null);
            var playerStateService = new PlayerStateService(playerState);

            //Act
            var expected = playerStateService.GetBatteryCharge() - charge;

            playerStateService.reduceBatteryCharge(charge);
            var result = playerStateService.GetBatteryCharge();

            //Assert
            Assert.Equal(expected, result);
        }
Пример #3
0
        public void RestoreStateTest()
        {
            //Arrange
            var gameHistory = new GameHistory();

            gameHistory.History.Push(new RobotMemento(100));
            var playerState        = new PlayerState(new RobotStub(null), gameHistory);
            var playerStateService = new PlayerStateService(playerState);

            //Act
            playerStateService.RestoreState();
            var result = playerStateService.GetBatteryCharge();

            //Assert
            Assert.Equal(100, result);
        }
 private void PopulateDependencies(EconomyController economyController, PlayerStateService playerStateService)
 {
     this._economyController  = economyController;
     this._playerStateService = playerStateService;
     this._economyController.OnMoneyChanged += () =>
     {
         if (this._workerMoneyLabelReference != null)
         {
             this._workerMoneyLabelReference.element.text = this._economyController.Money.ToString("0.00");
         }
         if (this._moneyUpgradeButtonReference == null)
         {
             return;
         }
         if (this._economyController.CanUpgradePercentageSkill())
         {
             return;
         }
         this._moneyUpgradeButtonReference.element.SetAttribute("color", "red");
         this._moneyUpgradeButtonReference.element.ApplyAttributes();
     };
 }
Пример #5
0
 public WorkerController(PlayerStateService playerStateService)
 {
     this._playerStateService = playerStateService;
 }