public void CanBuy_NullCitizen_Error()
        {
            var house = new HouseDummyCreator().SetSellOffer().Create();

            var result = sellHouseService.CanBuy(house, null);

            Assert.IsTrue(result.Is(HouseErrors.EntityNotExist));
        }
        public void CanBuy_Company_CannotBuyError()
        {
            var company = new CompanyDummyCreator().Create();
            var house   = new HouseDummyCreator().SetSellOffer().Create();

            var result = sellHouseService.CanBuy(house, company.Entity);

            Assert.IsTrue(result.Is(HouseErrors.OnlyCitizenBuyHouse));
        }
        public void CanBuy_EverythingOk_Success()
        {
            var house   = new HouseDummyCreator().SetSellOffer().Create();
            var citizen = new CitizenDummyCreator().Create();

            houseRepository.Setup(x => x.HasHouseInRegion(It.IsAny <int>(), It.IsAny <int>())).Returns(false);
            mockSellHouseService.Setup(x => x.HaveEnoughCashToBuy(It.IsAny <House>(), It.IsAny <Entity>())).Returns(true);

            var result = sellHouseService.CanBuy(house, citizen.Entity);

            Assert.IsTrue(result.isSuccess);
        }
        public void CanBuy_AlreadyHasHouse_Error()
        {
            var house   = new HouseDummyCreator().SetSellOffer().Create();
            var citizen = new CitizenDummyCreator().Create();

            houseRepository.Setup(x => x.HasHouseInRegion(It.IsAny <int>(), It.IsAny <int>())).Returns(true);
            mockSellHouseService.Setup(x => x.HaveEnoughCashToBuy(It.IsAny <House>(), It.IsAny <Entity>())).Returns(true);

            var result = sellHouseService.CanBuy(house, citizen.Entity);

            Assert.IsTrue(result.Is(HouseErrors.AlreadyHaveHouse));
        }