コード例 #1
0
        public void ExecuteShould_ReturnCityNameNameAlreadyExistsWhenCityFoundInDB()
        {
            var countryName = "Mordor";
            var country     = new CountryMock()
            {
                Id = 1, Name = countryName
            };
            var cityName = "Varna";
            var city     = new CityMock()
            {
                Id = 1, Name = cityName, Country = country
            };

            var providerMock = new Mock <ISqlServerDataProvider>();

            providerMock.Setup(p => p.Countries.Find(It.IsAny <Expression <Func <Country, bool> > >())).Returns(new List <CountryMock>()
            {
                country
            });

            providerMock.Setup(p => p.Cities.Find(It.IsAny <Expression <Func <City, bool> > >())).Returns(new List <CityMock>()
            {
                city
            });

            var writerMock = new Mock <IWriter>();
            var command    = new AddCityCommand(providerMock.Object, writerMock.Object);

            string result = command.Execute(new List <string>()
            {
                cityName, countryName
            });

            Assert.That(result.Contains($"City {cityName}, {countryName} already exists"));
        }
コード例 #2
0
        public void ExecuteShould_ReturnCitySuccessfullyAddedIfCityIsAddedToDB()
        {
            var countryName = "Mordor";
            var country     = new CountryMock()
            {
                Id = 1, Name = countryName
            };
            var cityName = "Varna";
            var city     = new CityMock()
            {
                Id = 1, Name = cityName, Country = country
            };

            var providerMock = new Mock <ISqlServerDataProvider>();

            providerMock.Setup(p => p.Countries.Find(It.IsAny <Expression <Func <Country, bool> > >())).Returns(new List <CountryMock>()
            {
                country
            });

            providerMock.Setup(p => p.Cities.Find(It.IsAny <Expression <Func <City, bool> > >())).Returns(new List <CityMock>()
            {
                null
            });

            providerMock.Setup(p => p.Cities.Add(It.IsAny <City>())).Verifiable();
            providerMock.Setup(p => p.UnitOfWork.Finished()).Verifiable();

            var writerMock = new Mock <IWriter>();
            var command    = new AddCityCommand(providerMock.Object, writerMock.Object);

            string result = command.Execute(new List <string>()
            {
                "Plovdiv", countryName
            });

            Assert.That(result.Contains($"City Plovdiv was successfully added"));
        }