Пример #1
0
        public void DropCreateDatabaseIfModelChanges_throws_if_database_exists_but_has_no_metadata()
        {
            var tracker =
                new DatabaseInitializerTracker <FakeNoRegContext, DropCreateDatabaseIfModelChanges <FakeNoRegContext> >(
                    databaseExists: true, modelCompatible: true, hasMetadata: false);

            Assert.Equal(Strings.Database_NoDatabaseMetadata, Assert.Throws <NotSupportedException>(() => tracker.ExecuteStrategy()).Message);
        }
Пример #2
0
        public void DropCreateDatabaseAlways_performs_delete_create_and_seeding()
        {
            var tracker = new DatabaseInitializerTracker <FakeNoRegContext, DropCreateDatabaseAlways <FakeNoRegContext> >(
                databaseExists: false);

            tracker.ExecuteStrategy();

            Assert.Equal("DeleteIfExists Exists CreateDatabase Seed", tracker.Result);
        }
Пример #3
0
        public void Default_initialization_strategy_is_CreateDatabaseIfNotExists()
        {
            var tracker =
                new DatabaseInitializerTracker <FakeForDisicdoine, DropCreateDatabaseAlways <FakeForDisicdoine> >(databaseExists: false);

            tracker.Context.Database.Initialize(force: true);

            Assert.Equal("UseTempObjectContext Exists CreateDatabase DisposeTempObjectContext", tracker.Result);
        }
Пример #4
0
        public void DropCreateDatabaseIfModelChanges_creates_and_seeds_database_if_not_exists()
        {
            var tracker =
                new DatabaseInitializerTracker <FakeNoRegContext, DropCreateDatabaseIfModelChanges <FakeNoRegContext> >(databaseExists: false);

            tracker.ExecuteStrategy();

            Assert.Equal("Exists Exists CreateDatabase Seed", tracker.Result);
        }
Пример #5
0
        public void CreateDatabaseIfNotExists_does_nothing_if_database_exists_but_has_no_metadata()
        {
            var tracker = new DatabaseInitializerTracker <FakeNoRegContext, CreateDatabaseIfNotExists <FakeNoRegContext> >(
                databaseExists: true, modelCompatible: true, hasMetadata: false);

            tracker.ExecuteStrategy();

            Assert.Equal("Exists", tracker.Result);
        }
Пример #6
0
        public void CreateDatabaseIfNotExists_throws_if_database_exists_and_model_does_not_match()
        {
            var tracker = new DatabaseInitializerTracker <FakeNoRegContext, CreateDatabaseIfNotExists <FakeNoRegContext> >(
                databaseExists: true, modelCompatible: false);

            Assert.Equal(
                Strings.DatabaseInitializationStrategy_ModelMismatch(tracker.Context.GetType().Name),
                Assert.Throws <InvalidOperationException>(() => tracker.ExecuteStrategy()).Message);
        }
Пример #7
0
        public void DropCreateDatabaseAlways_performs_delete_create_and_seeding_even_if_database_exists_and_model_matches()
        {
            var tracker = new DatabaseInitializerTracker <FakeNoRegContext, DropCreateDatabaseAlways <FakeNoRegContext> >(
                databaseExists: true, modelCompatible: true);

            tracker.ExecuteStrategy();

            Assert.Equal("DeleteIfExists Exists CreateDatabase Seed", tracker.Result);
        }
Пример #8
0
        public void DropCreateDatabaseIfModelChanges_recreates_database_if_database_exists_and_model_does_not_match()
        {
            var tracker =
                new DatabaseInitializerTracker <FakeNoRegContext, DropCreateDatabaseIfModelChanges <FakeNoRegContext> >(
                    databaseExists: true, modelCompatible: false);

            tracker.ExecuteStrategy();

            Assert.Equal("Exists DeleteIfExists Exists CreateDatabase Seed", tracker.Result);
        }
Пример #9
0
        public void DropCreateDatabaseIfModelChanges_does_nothing_if_database_exists_and_model_matches()
        {
            var tracker =
                new DatabaseInitializerTracker <FakeNoRegContext, DropCreateDatabaseIfModelChanges <FakeNoRegContext> >(
                    databaseExists: true, modelCompatible: true);

            tracker.ExecuteStrategy();

            Assert.Equal("Exists", tracker.Result);
        }
Пример #10
0
        public void Default_initialization_strategy_is_removed_by_calling_SetInitializer_with_null()
        {
            var tracker =
                new DatabaseInitializerTracker <FakeForDisirbcsiwn, DropCreateDatabaseAlways <FakeForDisirbcsiwn> >(databaseExists: false);

            var mockContextType = tracker.Context.GetType();
            var initMethod      = typeof(Database).GetMethod("SetInitializer").MakeGenericMethod(mockContextType);

            initMethod.Invoke(null, new object[] { null });

            tracker.Context.Database.Initialize(force: true);

            Assert.Equal("UseTempObjectContext DisposeTempObjectContext", tracker.Result);
        }