public void TestCollectProfits_ShouldCollectCorrectly(int id) { var mockedPath = new Mock <IPath>(); var mockedLocation = new Mock <ILocation>(); var map = new List <IPath>() { mockedPath.Object }; var mockedResources = new Mock <IResources>(); uint difference = 10; mockedResources.SetupGet(x => x.SilverCoins).Returns(difference); mockedResources.SetupGet(x => x.GoldCoins).Returns(difference); mockedResources.SetupGet(x => x.BronzeCoins).Returns(difference); var mockedStation = new Mock <ITeleportStation>(); var businessOwner = new BusinessOwner(id, "Big Boss", new List <ITeleportStation>() { mockedStation.Object }); mockedStation.Setup(x => x.PayProfits(businessOwner)).Returns(mockedResources.Object); var bronze = businessOwner.Resources.BronzeCoins; var gold = businessOwner.Resources.GoldCoins; var silver = businessOwner.Resources.SilverCoins; businessOwner.CollectProfits(); Assert.AreEqual(businessOwner.Resources.GoldCoins, gold + difference); Assert.AreEqual(businessOwner.Resources.SilverCoins, silver + difference); Assert.AreEqual(businessOwner.Resources.BronzeCoins, bronze + difference); }
public void IncreaseTheOwnerResourcesByTheTotalAmountOfProfitsFromTheirStations_WhenInvoked() { // Arrange int validIdentificationNumber = 1; string validNickName = "Pesho"; var stationsList = new List <ITeleportStation>(); var stationOwner = new BusinessOwner(validIdentificationNumber, validNickName, stationsList); stationOwner.Resources.BronzeCoins = 10; stationOwner.Resources.SilverCoins = 10; stationOwner.Resources.GoldCoins = 10; var stationMapStub = new List <IPath>(); var stationLocationStub = new Mock <ILocation>(); var teleportStationFake = new TeleportStationFake(stationOwner, stationMapStub, stationLocationStub.Object); teleportStationFake.ResoursesExposed.BronzeCoins = 20; teleportStationFake.ResoursesExposed.SilverCoins = 20; teleportStationFake.ResoursesExposed.GoldCoins = 20; stationOwner.TeleportStations.Add(teleportStationFake); // Act stationOwner.CollectProfits(); // Assert Assert.AreEqual((10 + 20), stationOwner.Resources.BronzeCoins); Assert.AreEqual((10 + 20), stationOwner.Resources.SilverCoins); Assert.AreEqual((10 + 20), stationOwner.Resources.GoldCoins); }
public void TestCollectProfits_ShouldCollectCorrectly(int id) { var mockedPath = new Mock<IPath>(); var mockedLocation = new Mock<ILocation>(); var map = new List<IPath>() { mockedPath.Object }; var mockedResources=new Mock<IResources>(); uint difference = 10; mockedResources.SetupGet(x => x.SilverCoins).Returns(difference); mockedResources.SetupGet(x => x.GoldCoins).Returns(difference); mockedResources.SetupGet(x => x.BronzeCoins).Returns(difference); var mockedStation=new Mock<ITeleportStation>(); var businessOwner=new BusinessOwner(id,"Big Boss", new List<ITeleportStation>(){mockedStation.Object}); mockedStation.Setup(x => x.PayProfits(businessOwner)).Returns(mockedResources.Object); var bronze = businessOwner.Resources.BronzeCoins; var gold = businessOwner.Resources.GoldCoins; var silver = businessOwner.Resources.SilverCoins; businessOwner.CollectProfits(); Assert.AreEqual(businessOwner.Resources.GoldCoins, gold+difference); Assert.AreEqual(businessOwner.Resources.SilverCoins, silver+difference); Assert.AreEqual(businessOwner.Resources.BronzeCoins, bronze+difference); }
public void CollectProfit_ShouldIncreaseOwnerResurses() { var anyname = "ownerName"; int anyId = 5002; var tpStationList = new List <ITeleportStation>(); uint expectedBronze = 10; uint expectedSilver = 20; uint expectedGold = 30; var mockedresurces = Mock.Create <IResources>(); Mock.Arrange(() => mockedresurces.BronzeCoins).Returns(expectedBronze); Mock.Arrange(() => mockedresurces.SilverCoins).Returns(expectedSilver); Mock.Arrange(() => mockedresurces.GoldCoins).Returns(expectedGold); var mockedTeleportStartion = Mock.Create <ITeleportStation>(); Mock.Arrange(() => mockedTeleportStartion.PayProfits(Arg.IsAny <IBusinessOwner>())).Returns(mockedresurces); tpStationList.Add(mockedTeleportStartion); var owner = new BusinessOwner(anyId, anyname, tpStationList); owner.CollectProfits(); Assert.AreEqual(expectedBronze, owner.Resources.BronzeCoins); Assert.AreEqual(expectedSilver, owner.Resources.SilverCoins); Assert.AreEqual(expectedGold, owner.Resources.GoldCoins); }
public void CollectProfits_ShouldReturnTheSumOfProfitsInOwnersTeleportStations() { const int expectedBronzeCoins = 2; const int expectedSilverCoins = 4; const int expectedGoldCoins = 6; const int halfOfExpectedBronzeCoins = expectedBronzeCoins / 2; const int halfOfExpectedSilverCoins = expectedSilverCoins / 2; const int halfOfExpectedGoldCoins = expectedGoldCoins / 2; var mockedTeleportStation = new Mock <ITeleportStation>(); var mockedTeleportStationTwo = new Mock <ITeleportStation>(); var mockedResources = new Mock <IResources>(); mockedResources.Setup(x => x.BronzeCoins).Returns(halfOfExpectedBronzeCoins); mockedResources.Setup(x => x.SilverCoins).Returns(halfOfExpectedSilverCoins); mockedResources.Setup(x => x.GoldCoins).Returns(halfOfExpectedGoldCoins); var listOfTeleportStations = new List <ITeleportStation>() { mockedTeleportStation.Object, mockedTeleportStationTwo.Object }; var businessOwner = new BusinessOwner(1, "Petar", listOfTeleportStations); mockedTeleportStation.Setup(x => x.PayProfits(businessOwner)).Returns(mockedResources.Object); mockedTeleportStationTwo.Setup(x => x.PayProfits(businessOwner)).Returns(mockedResources.Object); businessOwner.CollectProfits(); Assert.AreEqual(expectedBronzeCoins, businessOwner.Resources.BronzeCoins); Assert.AreEqual(expectedSilverCoins, businessOwner.Resources.SilverCoins); Assert.AreEqual(expectedGoldCoins, businessOwner.Resources.GoldCoins); }
public void Pay_ShouldResourceObject_WhenPassedValidResources() { // Arrange var resourcesStub = new Mock <IResources>(); resourcesStub.SetupGet(r => r.BronzeCoins).Returns(10); resourcesStub.SetupGet(r => r.SilverCoins).Returns(20); resourcesStub.SetupGet(r => r.GoldCoins).Returns(30); var teleportationStationStub = new Mock <ITeleportStation>(); teleportationStationStub.Setup(t => t.PayProfits(It.IsAny <IBusinessOwner>())).Returns(resourcesStub.Object); var owner = new BusinessOwner(1, "Owner", new List <ITeleportStation>() { teleportationStationStub.Object }); // Act owner.CollectProfits(); var result = owner.Pay(resourcesStub.Object); // Assert Assert.IsInstanceOf <IResources>(result); }
public void IncreaseTheOwnersResourcesByTheTotalREsourcesAmount_WhenCalled() { // arrange var stationStub = new Mock <ITeleportStation>(); uint allCoins = 10; var resourcesStub = new Mock <IResources>(); resourcesStub.Setup(x => x.BronzeCoins).Returns(allCoins); resourcesStub.Setup(x => x.SilverCoins).Returns(allCoins); resourcesStub.Setup(x => x.GoldCoins).Returns(allCoins); stationStub.Setup(x => x.PayProfits(It.IsAny <IBusinessOwner>())) .Returns(resourcesStub.Object); var ownerStations = new List <ITeleportStation>() { stationStub.Object }; int id = 1; string nickname = "TheBoss"; var owner = new BusinessOwner(id, nickname, ownerStations); // act owner.CollectProfits(); // assert Assert.AreEqual(owner.Resources.BronzeCoins, 10); Assert.AreEqual(owner.Resources.SilverCoins, 10); Assert.AreEqual(owner.Resources.GoldCoins, 10); }
public void Pay_ShouldDecreaseTheOwnersAmountOfResourcesByTheAmountOfTheCost_WhenPassedValidCostResources() { // Arrange var resourcesStub = new Mock <IResources>(); resourcesStub.SetupGet(r => r.BronzeCoins).Returns(10); resourcesStub.SetupGet(r => r.SilverCoins).Returns(20); resourcesStub.SetupGet(r => r.GoldCoins).Returns(30); var teleportationStationStub = new Mock <ITeleportStation>(); teleportationStationStub.Setup(t => t.PayProfits(It.IsAny <IBusinessOwner>())).Returns(resourcesStub.Object); var owner = new BusinessOwner(1, "Owner", new List <ITeleportStation>() { teleportationStationStub.Object }); // Act owner.CollectProfits(); owner.Pay(resourcesStub.Object); // Assert Assert.AreEqual(0, owner.Resources.BronzeCoins); Assert.AreEqual(0, owner.Resources.SilverCoins); Assert.AreEqual(0, owner.Resources.GoldCoins); }
public void IncreaseTheOwnersResourcesFromHisTeleportStations() { // Arrange var firstStationMock = new Mock <ITeleportStation>(); var stations = new List <ITeleportStation>() { firstStationMock.Object }; var owner = new BusinessOwner(1, "nickname", stations); var resourseMock = new Mock <IResources>(); resourseMock.Setup(x => x.BronzeCoins).Returns(10); resourseMock.Setup(x => x.SilverCoins).Returns(10); resourseMock.Setup(x => x.GoldCoins).Returns(10); firstStationMock.Setup(x => x.PayProfits(owner)).Returns(resourseMock.Object); // Act owner.CollectProfits(); // Assert Assert.AreEqual(10, owner.Resources.GoldCoins); Assert.AreEqual(10, owner.Resources.BronzeCoins); Assert.AreEqual(10, owner.Resources.SilverCoins); }
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); }
public void CollectProfits_ShouldIncreaseTheOwnerResourcesByTheTotalAmountOfResourcesGeneratedFromTheTeleportStations() { var mockedGalacticMap = new Mock <IEnumerable <IPath> >(); var mockedLocationForStation = new Mock <ILocation>(); var resoursFactory = new ResourcesFactory(); var resourses = resoursFactory.GetResources("create resources gold(20) silver(30) bronze(40)"); var mockedColectionOfTeleportStation = new Mock <ICollection <ITeleportStation> >(); var owner = new BusinessOwner(1, "Pesho", mockedColectionOfTeleportStation.Object); var teleportStation = new TeleportStation(owner, mockedGalacticMap.Object, mockedLocationForStation.Object); owner.CollectProfits(); Assert.AreEqual(resourses.GoldCoins, owner.Resources.GoldCoins); }
public void CollectProfits_ShouldIcreaseResourcesByTheReturnedAmount() { // Arrange var id = 1; var nickName = "nikcName"; var teleportStations = new List <ITeleportStation>(); var mockStationAlphaProfit = new Mock <IResources>(); mockStationAlphaProfit.SetupGet(mock => mock.GoldCoins).Returns(10); mockStationAlphaProfit.SetupGet(mock => mock.SilverCoins).Returns(10); mockStationAlphaProfit.SetupGet(mock => mock.BronzeCoins).Returns(10); var mockStationBetaProfit = new Mock <IResources>(); mockStationBetaProfit.SetupGet(mock => mock.GoldCoins).Returns(20); mockStationBetaProfit.SetupGet(mock => mock.SilverCoins).Returns(20); mockStationBetaProfit.SetupGet(mock => mock.BronzeCoins).Returns(20); // Arrange two TeleportStation var mockStationAlpha = new Mock <ITeleportStation>(); mockStationAlpha.Setup(mock => mock.PayProfits(It.IsAny <IBusinessOwner>())).Returns(mockStationAlphaProfit.Object); var mockStationBeta = new Mock <ITeleportStation>(); mockStationBeta.Setup(mock => mock.PayProfits(It.IsAny <IBusinessOwner>())).Returns(mockStationBetaProfit.Object); teleportStations.Add(mockStationAlpha.Object); teleportStations.Add(mockStationBeta.Object); var owner = new BusinessOwner(id, nickName, teleportStations); // Act. owner.CollectProfits(); var actualResources = owner.Resources; // Assert. Assert.That(actualResources, Is.InstanceOf <IResources>() .With.Property("GoldCoins").EqualTo((uint)30) .And.Property("SilverCoins").EqualTo((uint)30) .And.Property("BronzeCoins").EqualTo((uint)30)); }
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); }
public void IncreaseTheOwnerResourcesByTheTotalAmountGeneratedFromTheTStations_ThatAreInHisPossession() { // Arrange int identificationNumber = 100; string nickName = "Owner nickName"; IEnumerable <ITeleportStation> teleportStations = this.ArrangeTeleportStations(); BusinessOwner owner = new BusinessOwner(identificationNumber, nickName, teleportStations); uint expectedBronzeCoins = BronzeCoins; uint expectedSilverCoins = SilverCoins; uint expectedGoldCoins = GoldCoins; // Act owner.CollectProfits(); uint actualBronzeCoins = owner.Resources.BronzeCoins; uint actualSilverCoins = owner.Resources.SilverCoins; uint actualGoldCoins = owner.Resources.GoldCoins; // Assert Assert.AreEqual(expectedBronzeCoins, actualBronzeCoins); Assert.AreEqual(expectedSilverCoins, actualSilverCoins); Assert.AreEqual(expectedGoldCoins, actualGoldCoins); }
public void CollectProfits_ShouldIncreaseTheOwnerProfitsFromAllHisTeleportationStationsPayments_ShouldCollectAccurateGoldCoins() { // Arrange var resourcesMock = new Mock <IResources>(); resourcesMock.SetupGet(r => r.BronzeCoins).Returns(10); resourcesMock.SetupGet(r => r.SilverCoins).Returns(20); resourcesMock.SetupGet(r => r.GoldCoins).Returns(30); var teleportStationMock = new Mock <ITeleportStation>(); teleportStationMock.Setup(t => t.PayProfits(It.IsAny <IBusinessOwner>())).Returns(resourcesMock.Object); var owner = new BusinessOwner(1, "Owner", new List <ITeleportStation>() { teleportStationMock.Object }); // Act owner.CollectProfits(); // Assert Assert.AreEqual(30, owner.Resources.GoldCoins); }