Esempio n. 1
0
        public void Pay_IfValidCost_ShouldDecreaseTheResources()
        {
            var unit = new MockedUnit(1234, "Ivan");
            var initialResources = unit.Resources;

            var cost = new Resources();
            unit.Pay(cost);
            var resultResources = unit.Resources;

            Assert.IsTrue(initialResources==resultResources);
        }
Esempio n. 2
0
        public void Pay_ShouldDecreaseResourcesAmountOfTheOwnerByCostAmount()
        {
            // Arrange
            var mimi = new Unit(1, "Mimi");
            mimi.Resources.BronzeCoins = 25;
            mimi.Resources.SilverCoins = 50;
            mimi.Resources.GoldCoins = 100;

            var cost = new Resources(5, 7, 60);

            // Act
            mimi.Pay(cost);

            // Assert
            Assert.AreEqual(20, mimi.Resources.BronzeCoins);
            Assert.AreEqual(43, mimi.Resources.SilverCoins);
            Assert.AreEqual(40, mimi.Resources.GoldCoins);
        }
Esempio n. 3
0
        public void CollectProfits_ShouldIncreaseOwnerResourses_ByTotalAmountGeneratedFromTeleportStationsInHisPossession()
        {
            // Arrange
            IEnumerable<ITeleportStation> teleportStations = new List<ITeleportStation>();

            var owner = new BusinessOwner(12, "Ivan", teleportStations);
            owner.Resources.Clear();
            var payment = new Resources(20,30,40);
            owner.Resources.Add(payment);

            // Act
            owner.CollectProfits();

            // Assert
            Assert.AreEqual(20, owner.Resources.BronzeCoins);
            Assert.AreEqual(30, owner.Resources.SilverCoins);
            Assert.AreEqual(40, owner.Resources.GoldCoins);
        }
Esempio n. 4
0
        public void Pay_ShouldReturnResourceObjectWithTheAmountOfResourcesInTheCostObject()
        {
            // Arrange
            var mimi = new Unit(1, "Mimi");
            mimi.Resources.BronzeCoins = 25;
            mimi.Resources.SilverCoins = 50;
            mimi.Resources.GoldCoins = 100;

            var cost = new Resources(5, 7, 60);

            // Act
            var returnObject = mimi.Pay(cost);

            // Assert
            Assert.IsInstanceOf<Resources>(returnObject);
            Assert.AreEqual(cost.BronzeCoins, returnObject.BronzeCoins);
            Assert.AreEqual(cost.SilverCoins, returnObject.SilverCoins);
            Assert.AreEqual(cost.GoldCoins, returnObject.GoldCoins);
        }