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); }
public void TestTransactionFailsIfNoConnectionSpecified() { var xQuery = new XQuerySqlite(); Assert.IsFalse(xQuery.BeginTransaction()); Assert.IsNotNull(xQuery.LastErrorMessage); }
public void TestSelectCellCanReturnDoubleDataType() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); var result = xQuery.SelectCellAs <double>("select 1.1;"); Assert.AreEqual(1.1d, result); }
public void TestSqliteConnectionCannotBeEstablished() { string connectionString = $"Data Source={Guid.NewGuid()};FailIfMissing=true;"; var xQuery = new XQuerySqlite(connectionString); Assert.IsFalse(xQuery.TestConnection()); }
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); }
public void TestConnectionIsActiveAfterBeginTransaction() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); xQuery.BeginTransaction(); Assert.IsTrue(xQuery.IsConnectionActive); }
public void TestTransactionFlagIsBeingSet() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); xQuery.BeginTransaction(); Assert.True(xQuery.IsInTransactionMode); }
public void TestSelectCellCanReturnLongDataType() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); var result = xQuery.SelectCellAs <long>("select 100;"); Assert.AreEqual(100L, result); }
public void TestSelectCellCanReturnStringDataType() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); var result = xQuery.SelectCellAs <string>("select 'asd';"); Assert.AreEqual("asd", result); }
public void TestTimeoutCannotBeSetToZero() { var xQuery = new XQuerySqlite(); var defaultTimeout = xQuery.Timeout; xQuery.Timeout = 0; Assert.AreEqual(defaultTimeout, xQuery.Timeout); }
public void TestSelectCellReturnsDefaultValueOnError() { const string defValue = "default"; var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); var result = xQuery.SelectCellAs("select 1.1;", defValue); Assert.AreEqual(defValue, result); }
public void TestConnectionIsClosedAfterRollback() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); xQuery.BeginTransaction(); xQuery.RollbackTransaction(); Assert.IsFalse(xQuery.IsConnectionActive); }
public void TestSelectRow() { const string sqlSelectRow = "select 1, 'value', 3.3;"; var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); var result = xQuery.SelectRow(sqlSelectRow); Assert.AreEqual(3, result.ItemArray.Length); }
public void TestSelectColumn() { const string sqlSelectColumn = "select 1 union select 2 union select 3;"; var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); var result = xQuery.SelectColumn(sqlSelectColumn); Assert.AreEqual(3, result.Table.Rows.Count); }
public void TestSelectTable() { const string sqlSelectTable = "select 1, 2, 3 union select 4, 5, 6;"; var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); var result = xQuery.SelectTable(sqlSelectTable); Assert.AreEqual(2 * 3, result.Rows.Count * result.Columns.Count); }
public void TestTimeoutCanBeChanges() { var timeout = (int)TimeSpan.FromSeconds(10).TotalMilliseconds; var xQuery = new XQuerySqlite { Timeout = timeout }; Assert.AreEqual(timeout, xQuery.Timeout); }
public void TestSelectCellReturnsValueIfNoErrors() { const string defValue = "default"; const string nonDefValue = "non default"; var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); var result = xQuery.SelectCellAs($"select '{nonDefValue}';", defValue); Assert.AreEqual(nonDefValue, result); }
public void TestArgumentsCanBeSpecifiedWithinSelectTable() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); const string value = "asd"; var result = xQuery.SelectTable("select @a;", new XParameter("@a", value)) .Rows[0].ItemArray[0]; Assert.AreEqual(result, value); }
public void TestSelectCellThrowsDataExceptionOnEmptyResult() { const string sqlSelect = "select;"; var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); Assert.Throws(Is.TypeOf <DataException>(), delegate { xQuery.SelectCellAs <long>(sqlSelect); }); }
public void TestSelectCellThrowsFormatException() { const string sqlSelect = "select 1;"; var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); Assert.Throws(Is.TypeOf <FormatException>(), delegate { xQuery.SelectCellAs <string>(sqlSelect); }); }
public void TestConnectionIsNotBeingClosedIfKeepOpenWhenRollback() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString) { KeepConnectionOpen = true }; xQuery.BeginTransaction(); xQuery.RollbackTransaction(); Assert.IsTrue(xQuery.IsConnectionActive); }
public void TestConnectionIsOpenAfterSelect() { const string sqlSelect = "select 123;"; var xQuery = new XQuerySqlite() { ConnectionString = SetUp.SqliteConnectionString, KeepConnectionOpen = true }; xQuery.SelectCellAs <long>(sqlSelect); Assert.IsTrue(xQuery.IsConnectionActive); }
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")); }
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")); }
public void TestConnectionIsBeingClosedByChangingKeepConnectionOpen() { const string select = "select 123;"; var xQuery = new XQuerySqlite() { ConnectionString = SetUp.SqliteConnectionString, KeepConnectionOpen = true }; xQuery.SelectCellAs <long>(select); xQuery.KeepConnectionOpen = false; Assert.IsFalse(xQuery.IsConnectionActive); }
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); }
public void TestErrorIsLogged() { const string sqlSelect = "select 1, 2, 3;"; var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); xQuery.OnError += XQuery_OnError; try { xQuery.SelectCellAs <long>(sqlSelect); } catch (Exception) { // ignored } Assert.IsNotEmpty(xQuery.LastErrorMessage); }
public void TestKeepConnectionOpenIsFalseByDefault() { var xQuery = new XQuerySqlite(); Assert.IsFalse(xQuery.KeepConnectionOpen); }
public void TestSqliteInstanceTypeEqualsToSqlite() { var xQuery = new XQuerySqlite(); Assert.AreEqual(typeof(XQuerySqlite), xQuery.GetType()); }
public void TestArithmeticOperationWithSelectCell() { var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString); Assert.AreEqual(30, xQuery.SelectCellAs <long>("select 10+20;")); }