public void DropTableUsingSqlString() { var db = new OrmTestSession(); db.CreateTable <Product>(); var results = db.Execute("DROP TABLE IF EXISTS Product;"); }
public void DropTableUsingSqlString() { var db = new OrmTestSession(); db.CreateTable<Product>(); var results = db.Execute("DROP TABLE IF EXISTS Product;"); }
public void SqlQuery() { var expected = "абвг"; var db = new OrmTestSession(); db.CreateTable<Product>(); var product = new Product { Name = TestString }; db.Insert(product); db.Execute("UPDATE Product SET Name = '" + expected + "' WHERE Id = " + product.Id); var ps = (from p in db.Table<Product>() where p.Name == expected select p).ToList(); Assert.AreEqual(1, ps.Count); Assert.AreEqual(expected, ps[0].Name); }
public void SqlQuery() { var expected = "абвг"; var db = new OrmTestSession(); db.CreateTable <Product>(); var product = new Product { Name = TestString }; db.Insert(product); db.Execute("UPDATE Product SET Name = '" + expected + "' WHERE Id = " + product.Id); var ps = (from p in db.Table <Product>() where p.Name == expected select p).ToList(); Assert.AreEqual(1, ps.Count); Assert.AreEqual(expected, ps[0].Name); }
public void CreateTableWithoutIndexesTest() { var db = new OrmTestSession(); // the table db.CreateTable <IndexedTable>(false); // the indexes var map = db.GetMapping <IndexedTable>(); foreach (var index in map.Indexes) { db.Execute(index.GetCreateSql(map.TableName)); } // the test db.Insert(new IndexedTable { Indexed = 1 }); ExceptionAssert.Throws <SqliteException>( () => db.Insert(new IndexedTable { Indexed = 1 })); }
public void MultiplePkOperations() { var db = new OrmTestSession(); db.CreateTable<TestObj>(); // insert const int n = 10 , m= 5; var objs = new TestObj[n * m]; for (int j = 0; j != n; ++j) { for (int i = 0; i != m; ++i) { objs[j * m + i] = new TestObj {Id = j, SubId = i, Text = "I am (" + j + "," + i + ")"}; } } int numIn = db.InsertAll(objs); Assert.AreEqual(numIn, n * m, "Num inserted must = num objects"); var obj = db.Get<TestObj>(5, 3); Assert.AreEqual(5, obj.Id); Assert.AreEqual(3, obj.SubId); Assert.AreEqual("I am (5,3)", obj.Text); try { db.Insert(obj); } catch (SqliteException ex) { Assert.AreEqual(SQLiteErrorCode.Constraint, ex.ErrorCode); } // update obj.Text = "I've been changed"; db.Update(obj); db.Update<TestObj>("Text", "I've been changed also", 8, 2); obj = db.Get<TestObj>(5, 3); Assert.AreEqual("I've been changed", obj.Text); obj = db.Get<TestObj>(8, 2); Assert.AreEqual("I've been changed also", obj.Text); db.UpdateAll<TestObj>("Text", "All changed"); IEnumerable<TestObj> q1 = from o in db.Table<TestObj>() select o; foreach (TestObj o in q1) Assert.AreEqual("All changed", o.Text); TestObj[] q2 = (from o in db.Table<TestObj>() where o.SubId == 3 select o).ToArray(); Assert.AreEqual(10, q2.Length); for (int i = 0; i != 10; ++i) { Assert.AreEqual(i, q2[i].Id); } object numCount = db.Table<TestObj>().Count(); Assert.AreEqual(numCount, objs.Length, "Num counted must = num objects"); // delete obj = db.Get<TestObj>(8, 2); db.Delete(obj); try { var item = db.Get<TestObj>(8, 2); Assert.Fail(); } catch (InvalidOperationException) { } catch (Exception ex) { Assert.Fail(ex.Message); } db.Execute("delete from TestObj where SubId=2"); numCount = db.ExecuteScalar<int>("select count(*) from TestObj"); Assert.AreEqual(numCount, objs.Length - 10); foreach (TestObj o in (from o in db.Table<TestObj>() select o)) Assert.AreNotEqual(2, o.SubId); }
public void CreateTableWithoutIndexesTest() { var db = new OrmTestSession(); // the table db.CreateTable<IndexedTable>(false); // the indexes var map = db.GetMapping<IndexedTable>(); foreach (var index in map.Indexes) { db.Execute(index.GetCreateSql(map.TableName)); } // the test db.Insert(new IndexedTable { Indexed = 1 }); ExceptionAssert.Throws<SqliteException>( () => db.Insert(new IndexedTable { Indexed = 1 })); }
public void MultiplePkOperations() { var db = new OrmTestSession(); db.CreateTable <TestObj>(); // insert const int n = 10, m = 5; var objs = new TestObj[n * m]; for (int j = 0; j != n; ++j) { for (int i = 0; i != m; ++i) { objs[j * m + i] = new TestObj { Id = j, SubId = i, Text = "I am (" + j + "," + i + ")" }; } } int numIn = db.InsertAll(objs); Assert.AreEqual(numIn, n * m, "Num inserted must = num objects"); var obj = db.Get <TestObj>(5, 3); Assert.AreEqual(5, obj.Id); Assert.AreEqual(3, obj.SubId); Assert.AreEqual("I am (5,3)", obj.Text); try { db.Insert(obj); } catch (SqliteException ex) { Assert.AreEqual(SQLiteErrorCode.Constraint, ex.ErrorCode); } // update obj.Text = "I've been changed"; db.Update(obj); db.Update <TestObj>("Text", "I've been changed also", 8, 2); obj = db.Get <TestObj>(5, 3); Assert.AreEqual("I've been changed", obj.Text); obj = db.Get <TestObj>(8, 2); Assert.AreEqual("I've been changed also", obj.Text); db.UpdateAll <TestObj>("Text", "All changed"); IEnumerable <TestObj> q1 = from o in db.Table <TestObj>() select o; foreach (TestObj o in q1) { Assert.AreEqual("All changed", o.Text); } TestObj[] q2 = (from o in db.Table <TestObj>() where o.SubId == 3 select o).ToArray(); Assert.AreEqual(10, q2.Length); for (int i = 0; i != 10; ++i) { Assert.AreEqual(i, q2[i].Id); } object numCount = db.Table <TestObj>().Count(); Assert.AreEqual(numCount, objs.Length, "Num counted must = num objects"); // delete obj = db.Get <TestObj>(8, 2); db.Delete(obj); ExceptionAssert.Throws <InvalidOperationException>(() => db.Get <TestObj>(8, 2)); db.Execute("delete from TestObj where SubId=2"); numCount = db.ExecuteScalar <int>("select count(*) from TestObj"); Assert.AreEqual(numCount, objs.Length - 10); foreach (TestObj o in (from o in db.Table <TestObj>() select o)) { Assert.AreNotEqual(2, o.SubId); } }