コード例 #1
0
        public TerraformingTargetsUI()
        {
            InitializeComponent();
            _capGetter          = new PopulationTerraformingCapacityGetter();
            _systemBodyData     = new OrbitBodyTerraformDataHandler();
            _terraformManager   = new TerraformingManager(_capGetter);
            _terraformGameState = new TerraformGameState(_systemBodyData, _terraformManager);

            this.textBox_SimulateSeconds.Text = _defaultSecondsForUpdate.ToString();
            _systemBodyData.SecondsSinceLastProcessToSimulate = _defaultSecondsForUpdate;

            this.textBox_SimulateAtmPerAnnum.Text = _defaultPerAnnumAtm.ToString();
            _capGetter.ValueToReturnForPerAnnumTerraformCapacity = _defaultPerAnnumAtm;

            Update_listView_SimulateCurrentElements();
            this.comboBox_ChooseTargetElement.DisplayMember = "name";
            this.comboBox_ChooseTargetElement.ValueMember   = "id";
            this.comboBox_ChooseTargetElement.DataSource    = new BindingSource(UiModelMapper.GetAllGassesNames(), null);

            this.listView_TerraformTargets.Columns.Clear();
            this.listView_TerraformTargets.Columns.Add("Gas");
            this.listView_TerraformTargets.Columns.Add("Target Atm");

            this.listView_SimulateCurrentElements.Columns.Clear();
            this.listView_SimulateCurrentElements.Columns.Add("Gas");
            this.listView_SimulateCurrentElements.Columns.Add("Current Atm");

            textBox_TargetAmount.Text = "0.0";
        }
コード例 #2
0
        public void GameState_IfAllTargetsAreDeleted_Should_RemoveEntryEntirely()
        {
            var mockState           = TerraformMockHelpers.Setup_MockGameStateData_Targets();
            var mockStateCurrent    = TerraformMockHelpers.Setup_MockGameStateData_Elements();
            var mockProcessedResult = new ProcessedTerraformingListResult()
            {
                newTargets = mockState,
                newValues  = mockStateCurrent
            };

            var gameDataHandlerMock = TerraformMockHelpers.SetupMock_IOrbitBodyTerraformDataHandler(mockState);
            var managerMock         = TerraformMockHelpers.SetupMock_ITerraformingManager(mockProcessedResult);
            var gameState           = new TerraformGameState(gameDataHandlerMock.Object, managerMock.Object);

            gameState.SetTargetFor(orbitBodyId: 9999, populationId: 8888, elementId: 1, targetAmount: 1.1);

            var fetchTarget = gameState.GetTargetsFor(orbitBodyId: 9999, populationId: 8888);

            Assert.AreEqual(1.1, fetchTarget.DesiredTargets.GetAmount(1));

            gameState.DeleteTargetFor(orbitBodyId: 9999, populationId: 8888, elementId: 1);
            fetchTarget = gameState.GetTargetsFor(orbitBodyId: 9999, populationId: 8888);

            Assert.IsNull(fetchTarget);
        }
コード例 #3
0
        public void GameState_DeletingATarget_Should_RemoveCorrectly()
        {
            var mockState           = TerraformMockHelpers.Setup_MockGameStateData_Targets();
            var mockStateCurrent    = TerraformMockHelpers.Setup_MockGameStateData_Elements();
            var mockProcessedResult = new ProcessedTerraformingListResult()
            {
                newTargets = mockState,
                newValues  = mockStateCurrent
            };

            var gameDataHandlerMock = TerraformMockHelpers.SetupMock_IOrbitBodyTerraformDataHandler(mockState);
            var managerMock         = TerraformMockHelpers.SetupMock_ITerraformingManager(mockProcessedResult);
            var gameState           = new TerraformGameState(gameDataHandlerMock.Object, managerMock.Object);

            gameState.SetTargetFor(orbitBodyId: 9999, populationId: 8888, elementId: 1, targetAmount: 1.1);
            gameState.SetTargetFor(orbitBodyId: 9999, populationId: 8888, elementId: 2, targetAmount: 2.2);
            gameState.SetTargetFor(orbitBodyId: 9999, populationId: 8888, elementId: 3, targetAmount: 3.3);

            gameState.DeleteTargetFor(orbitBodyId: 9999, populationId: 8888, elementId: 2);

            var fetchTarget = gameState.GetTargetsFor(orbitBodyId: 9999, populationId: 8888);

            Assert.AreEqual(1.1, fetchTarget.DesiredTargets.GetAmount(1));
            Assert.IsFalse(fetchTarget.DesiredTargets.IsPresent(2));
            Assert.AreEqual(3.3, fetchTarget.DesiredTargets.GetAmount(3));
        }
コード例 #4
0
        public void GameState_SettingANewTarget_Should_AddCorrectly()
        {
            var mockState           = TerraformMockHelpers.Setup_MockGameStateData_Targets();
            var mockStateCurrent    = TerraformMockHelpers.Setup_MockGameStateData_Elements();
            var mockProcessedResult = new ProcessedTerraformingListResult()
            {
                newTargets = mockState,
                newValues  = mockStateCurrent
            };

            var gameDataHandlerMock = TerraformMockHelpers.SetupMock_IOrbitBodyTerraformDataHandler(mockState);
            var managerMock         = TerraformMockHelpers.SetupMock_ITerraformingManager(mockProcessedResult);
            var gameState           = new TerraformGameState(gameDataHandlerMock.Object, managerMock.Object);

            gameState.SetTargetFor(orbitBodyId: 9999, populationId: 8888, elementId: 777, targetAmount: 100.0);

            var fetchTarget = gameState.GetTargetsFor(orbitBodyId: 9999, populationId: 8888);

            Assert.AreEqual(100.0, fetchTarget.DesiredTargets.GetAmount(777));
        }
コード例 #5
0
        public void Manager_TerraformGameState_OneInvoke_Should_ProcessOnceOnly()
        {
            var mockState           = TerraformMockHelpers.Setup_MockGameStateData_Targets();
            var mockStateCurrent    = TerraformMockHelpers.Setup_MockGameStateData_Elements();
            var mockProcessedResult = new ProcessedTerraformingListResult()
            {
                newTargets = mockState,
                newValues  = mockStateCurrent
            };

            var gameDataHandlerMock = TerraformMockHelpers.SetupMock_IOrbitBodyTerraformDataHandler(mockState);
            var managerMock         = TerraformMockHelpers.SetupMock_ITerraformingManager(mockProcessedResult);
            var gameState           = new TerraformGameState(gameDataHandlerMock.Object, managerMock.Object);

            gameState.DoGameUpdate();

            gameDataHandlerMock.Verify(m => m.GetAllPopulationsTerraformInfo(), Times.Once);
            managerMock.Verify(m => m.ProcessAll(It.IsAny <List <OrbitBodyWithTerraformInfo> >(), It.IsAny <List <OrbitBodyWithCurrentElementInfo> >(), 3600 * 24 * 5), Times.Once);
            gameDataHandlerMock.Verify(m => m.SetAllPopulationsTerraformInfo(mockState), Times.Once);
        }