コード例 #1
0
        public void BackupDatabase_overwrite_openfile_with_inmemory()
        {
            var tempPath = GetTempFilePath(".crz3");

            RegesterFileForCleanUp(tempPath);

            using (var ds = new SQLiteDatastore(tempPath))
            {
                var dbbuilder = new TestDBBuilder();
                ds.CreateDatastore(dbbuilder);

                var orgTableInfo = ds.QueryGeneric("SELECT * FROM Sqlite_Master;").ToArray();
                orgTableInfo.Should().NotBeEmpty();

                ds.From <POCOMultiTypeObject>().Query().Should().BeEmpty();

                using (var newds = new SQLiteDatastore())
                {
                    newds.CreateDatastore(dbbuilder);

                    newds.Insert(new POCOMultiTypeObject()
                    {
                        ID = 1,
                    });

                    newds.From <POCOMultiTypeObject>().Query().Should().NotBeEmpty();

                    newds.BackupDatabase(tempPath);
                }

                ds.From <POCOMultiTypeObject>().Query().Should().NotBeEmpty();
            }
        }
コード例 #2
0
        public void QueryGeneric_Test(bool nulls)
        {
            using (var ds = new SQLiteDatastore())
            {
                ds.Execute(TestDBBuilder.CREATE_MULTIPROPTABLE);

                var poco = CreateRandomPoco(nulls);
                ds.Insert(poco);

                var stuff = ds.QueryGeneric("SELECT * FROM MultiPropTable;").ToArray();
            }
        }
コード例 #3
0
        public void QueryRowIDAsPrimaryKeyObject()
        {
            using (var ds = new SQLiteDatastore())
            {
                ds.Execute(RowIDAsPrimaryKey.CREATE_TABLE_COMMAND);

                ds.Insert(new RowIDAsPrimaryKey {
                    StringField = "something"
                });

                var result = ds.From <RowIDAsPrimaryKey>().Query().First();
                result.RowID.Should().Be(1);
            }
        }
コード例 #4
0
        public void Insert()
        {
            using (var ds = new SQLiteDatastore())
            {
                ds.CreateDatastore(new TestDBBuilder());

                var ent = POCOMultiTypeObject.CreateWithNullID();
                ent.ID.Should().BeNull();
                ds.Insert(ent);
                ent.ID.Should().NotBeNull();

                var entAgain = ds.From <POCOMultiTypeObject>().Query().Single();
                ent.Should().BeEquivalentTo(entAgain);
            }
        }
コード例 #5
0
        public void Query_Test(bool nulls)
        {
            using (var ds = new SQLiteDatastore())
            {
                ds.Execute(TestDBBuilder.CREATE_MULTIPROPTABLE);

                var poco = CreateRandomPoco(nulls);
                ds.Insert(poco);

                var result = ds.Query <POCOMultiTypeObject>("SELECT * FROM MultiPropTable;")
                             .SingleOrDefault();

                result.Should().NotBeNull();

                result.Should().BeEquivalentTo(poco);
            }
        }
コード例 #6
0
        public void FluentInterfaceTest_Single_Record(bool nulls)
        {
            using (var ds = new SQLiteDatastore())
            {
                ds.Execute(TestDBBuilder.CREATE_MULTIPROPTABLE);

                var poco = POCOMultiTypeObject.CreateWithNullID();
                ds.Insert(poco);

                var result = ds.From <MultiPropTypeWithAliases>().Query()
                             .SingleOrDefault();

                result.Should().NotBeNull();

                poco.Should().BeEquivalentTo(result, config => config.ExcludingMissingMembers());

                result.AliasForStringField.Should().Be(result.StringField);
            }
        }