コード例 #1
0
        public void AddCity_When_city_Then_SaveChanges_of_UnitOfWork_called()
        {
            // Arrange
            var city1 = new CityName {
                Id = 1, Name = "City1"
            };
            var city2 = new CityName {
                Id = 2, Name = "City2"
            };

            var cityRepository = A.Fake <IRepository <CityName> >();

            A.CallTo(() => cityRepository.Query()).Returns(new[] { city1 }.AsQueryable());

            var unitOfWork = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWork.Repository <CityName>()).Returns(cityRepository);

            var unitOfWorkFactory = A.Fake <IUnitOfWorkFactory>();

            A.CallTo(() => unitOfWorkFactory.Create()).Returns(unitOfWork);

            var service = new WeatherService(unitOfWorkFactory);

            // Act
            service.AddCity(city2);

            // Assert
            A.CallTo(() => unitOfWork.SaveChanges()).MustHaveHappened(Repeated.Exactly.Once);
        }