public void DontGetDbContextWhenDataBaseDontExist()
        {
            CreateServices();
            EntityFrameworkTools <InMemoryDbContext> .AddDbContext(Services, Configuration);

            var provider  = Services.BuildServiceProvider();
            var dbContext = provider.GetService <NoConnectionStringForThisDbContext>();

            dbContext.ShouldBeNull();
        }
        public void GetDbContextWithNoCityWhenDataBaseExistAndCitiesNoFilled()
        {
            CreateServices();
            EntityFrameworkTools <GoodDbContext_Development> .AddDbContext(Services, Configuration);

            var provider  = Services.BuildServiceProvider();
            var dbContext = provider.GetService <GoodDbContext_Development>();

            dbContext.ShouldNotBeNull();
            dbContext.Cities.ShouldNotBeNull();
            dbContext.Cities.ToList().Count.ShouldBe(0);
        }
        public void GetDbContextWhenInMemory()
        {
            CreateServices();
            EntityFrameworkTools <InMemoryDbContext> .AddDbContext(Services, Configuration);

            var provider  = Services.BuildServiceProvider();
            var dbContext = provider.GetService <InMemoryDbContext>();

            dbContext.ShouldNotBeNull();
            dbContext.Cities.ShouldNotBeNull();
            dbContext.Countries.ShouldNotBeNull();
        }
        public void GetDbContextWith1ContryWhenDataBaseExistAnd1ContryAdd()
        {
            CreateServices();
            EntityFrameworkTools <GoodDbContext_Development> .AddDbContext(Services, Configuration);

            var provider  = Services.BuildServiceProvider();
            var dbContext = provider.GetService <GoodDbContext_Development>();

            dbContext.ShouldNotBeNull();
            AddContryToDatabase(dbContext);
            dbContext.Countries.ShouldNotBeNull();
            var countries = dbContext.Countries.ToList();

            countries.Count.ShouldBe(1);
            countries[0].Name.ShouldBe(TestCountryName);
            countries[0].IsDemocracy.ShouldBeFalse();
        }