コード例 #1
0
        public void TestSelectBinaryDataFromCellAsImage()
        {
            const string sqlCreateTable = "create table test (bin blob);";
            const string sqlInsertImage = "insert into test (bin) values (@bin);";
            const string sqlSelectImage = "select * from test;";
            const int    imageDimension = 100;
            var          image          = new Bitmap(imageDimension, imageDimension);

            byte[] binary;

            using (var g = Graphics.FromImage(image))
            {
                g.Clear(Color.Gold);
            }

            using (var memory = new MemoryStream())
            {
                image.Save(memory, ImageFormat.Png);
                binary = memory.ToArray();
            }

            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            xQuery.Create(sqlCreateTable);
            xQuery.InsertBinaryIntoCell(binary, sqlInsertImage, "@bin");
            var retrivedImage = xQuery.SelectBinaryAsImage(sqlSelectImage);

            Assert.AreEqual(100, retrivedImage.Size.Width);
        }
コード例 #2
0
        public void TestSelectBinaryDataFromCellAndSaveToFile()
        {
            const string sqlCreateTable = "create table test (bin blob);";
            const string sqlInsertImage = "insert into test (bin) values (@bin);";
            const string sqlSelectImage = "select bin from test limit 1;";
            const string fileName       = "image.png";
            const int    imageDimension = 100;
            var          image          = new Bitmap(imageDimension, imageDimension);

            byte[] binary;

            using (var g = Graphics.FromImage(image))
            {
                g.Clear(Color.Gold);
            }

            using (var memory = new MemoryStream())
            {
                image.Save(memory, ImageFormat.Png);
                binary = memory.ToArray();
            }

            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            xQuery.Create(sqlCreateTable);
            xQuery.InsertBinaryIntoCell(binary, sqlInsertImage, "@bin");
            File.Delete(fileName);
            var result = xQuery.SelectBinaryAndSave(fileName, sqlSelectImage);

            Assert.IsTrue(result);
        }
コード例 #3
0
ファイル: TransactionTests.cs プロジェクト: Serg046/xdatabase
        public void TestTransactionFlagIsBeingSet()
        {
            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            Assert.True(xQuery.IsInTransactionMode);
        }
コード例 #4
0
ファイル: TransactionTests.cs プロジェクト: Serg046/xdatabase
        public void TestConnectionIsActiveAfterBeginTransaction()
        {
            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            Assert.IsTrue(xQuery.IsConnectionActive);
        }
コード例 #5
0
ファイル: TransactionTests.cs プロジェクト: Serg046/xdatabase
        public void TestTransactionFailsIfNoConnectionSpecified()
        {
            var xQuery = new XQuerySqlite();

            Assert.IsFalse(xQuery.BeginTransaction());
            Assert.IsNotNull(xQuery.LastErrorMessage);
        }
コード例 #6
0
ファイル: TransactionTests.cs プロジェクト: Serg046/xdatabase
        public void TestConnectionIsClosedAfterRollback()
        {
            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            xQuery.RollbackTransaction();
            Assert.IsFalse(xQuery.IsConnectionActive);
        }
コード例 #7
0
ファイル: TransactionTests.cs プロジェクト: Serg046/xdatabase
        public void TestConnectionIsNotBeingClosedIfKeepOpenWhenRollback()
        {
            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString)
            {
                KeepConnectionOpen = true
            };

            xQuery.BeginTransaction();
            xQuery.RollbackTransaction();
            Assert.IsTrue(xQuery.IsConnectionActive);
        }
コード例 #8
0
        public void TestInsertFileIntoCell()
        {
            const string sqlCreateTable = "create table test (bin blob);";
            const string sqlInsertFile  = "insert into test (bin) values (@bin);";
            var          file           = Assembly.GetExecutingAssembly().Location;

            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            xQuery.Create(sqlCreateTable);
            Assert.IsTrue(xQuery.InsertFileIntoCell(file, sqlInsertFile, "@bin"));
        }
コード例 #9
0
        public void TestInsertBinaryDataIntoCell()
        {
            const string sqlCreateTable = "create table test (bin blob);";
            const string sqlInsertBin   = "insert into test (bin) values (@bin);";
            var          binData        = new byte[] { 1, 0, 1, 1, 0, 1, 1, 0 };

            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            xQuery.Create(sqlCreateTable);
            Assert.IsTrue(xQuery.InsertBinaryIntoCell(binData, sqlInsertBin, "@bin"));
        }
コード例 #10
0
        public void TestSelectBinaryDataFromCell()
        {
            const string sqlCreateTable = "create table test (bin blob);";
            const string sqlInsertBin   = "insert into test (bin) values (@bin);";
            var          binData        = new byte[] { 1, 0, 1, 1, 0, 1, 1, 0 };

            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            xQuery.Create(sqlCreateTable);
            xQuery.InsertBinaryIntoCell(binData, sqlInsertBin, "@bin");
            var result = xQuery.SelectCellAs <byte[]>("select bin from test");

            Assert.AreEqual(binData, result);
        }