public void TestExample()
        {
            //SETUP
            var options = this
                          .CreateUniqueClassOptions <BookContext>();

            using (var context = new BookContext(options))
            {
                context.CreateEmptyViaWipe();
                var logs = context.SetupLogging();

                //ATTEMPT
                context.Add(new Book {
                    Title = "New Book"
                });
                context.SaveChanges();

                //VERIFY
                context.Books.Count().ShouldEqual(1);
                foreach (var log in logs.ToList())
                {
                    _output.WriteLine(log.ToString());
                }
            }
        }
示例#2
0
        public void TestExampleSqlDatabaseOk()
        {
            //SETUP
            var options = this
                          .CreateUniqueClassOptions <BookContext>();

            using (var context = new BookContext(options))
            {
                context.CreateEmptyViaWipe();

                //ATTEMPT
                context.SeedDatabaseFourBooks();

                //VERIFY
                context.Books.Count().ShouldEqual(4);
            }
        }
示例#3
0
        public void TestApplyScriptTwoCommandsToDatabaseOk()
        {
            //SETUP
            var options  = this.CreateUniqueClassOptions <BookContext>();
            var filepath = TestData.GetFilePath("Script02 - Add two rows to Authors table.sql");

            using (var context = new BookContext(options))
            {
                context.CreateEmptyViaWipe();

                //ATTEMPT
                context.ExecuteScriptFileInTransaction(filepath);

                //VERIFY
                context.Authors.Count().ShouldEqual(2);
            }
        }
示例#4
0
        public void TestApplyScriptExampleOk()
        {
            //SETUP
            var options = this
                          .CreateUniqueClassOptions <BookContext>();
            var filepath = TestData             //#A
                           .GetFilePath(        //#A
                "AddUserDefinedFunctions.sql"); //#A

            using (var context = new BookContext(options))
            {
                if (context.CreateEmptyViaWipe())    //#B
                {
                    context                          //#C
                    .ExecuteScriptFileInTransaction( //#C
                        filepath);                   //#C
                }
            }
        }
示例#5
0
        public void TestCreateEmptyViaWipe()
        {
            //SETUP
            var options = this.CreateUniqueMethodOptions <BookContext>();

            using (var context = new BookContext(options))
            {
                context.Database.EnsureCreated();
                context.SeedDatabaseDummyBooks(100);
            }
            using (var context = new BookContext(options))
            {
                //ATTEMPT
                using (new TimeThings(_output, "Time to wipe the database"))
                {
                    context.CreateEmptyViaWipe();
                }

                //VERIFY
                context.Books.Count().ShouldEqual(0);
            }
        }