public void RemoveCurrency(float amount)
        {
            controller = new Currency_Controller(500);
            float expected = 500 - amount;

            controller.AlterCurrency(-amount);

            Assert.AreEqual(expected, controller.Model.Currency);
        }
        /// <summary>
        /// TODO move to (new) BalanceManager-class
        /// Calculates balance based on income and upkeep.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        private void OnDayPassed(object sender, EventArgsWithPayload <IngameTime> eventArgs)
        {
            double balance = 0;

            using (ResourceCalculator resourceCalculator = new ResourceCalculator())
            {
                foreach (ResourceFactoryController resourceFactory in FactionModel.ResourceFactories)
                {
                    resourceCalculator.AddResource(resourceFactory.ResourceValue, resourceFactory.ResourceType);
                }

                balance += resourceCalculator.CalculateResourceWorth();
            }

            balance -= FactionModel.Buildings.Sum(structure => structure.Def.UpkeepCost);
            balance -= FactionModel.Units.Sum(unit => unit.UnitModel.Def.Upkeep);

            CurrencyController.AlterCurrency((float)balance);
        }