Example #1
0
 public void TearDown()
 {
     if (_db != null)
     {
         _db.Close();
     }
 }
Example #2
0
        public void ShouldPersistAndReadGuid()
        {
            var db = new TestDb(TestPath.GetTempFileName());

            var obj1 = new TestObj()
            {
                Id = new Guid("36473164-C9E4-4CDF-B266-A0B287C85623"), Text = "First Guid Object"
            };
            var obj2 = new TestObj()
            {
                Id = new Guid("BC5C4C4A-CA57-4B61-8B53-9FD4673528B6"), Text = "Second Guid Object"
            };

            var numIn1 = db.Insert(obj1);
            var numIn2 = db.Insert(obj2);

            Assert.AreEqual(1, numIn1);
            Assert.AreEqual(1, numIn2);

            var result = db.Query <TestObj>("select * from TestObj").ToList();

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(obj1.Text, result[0].Text);
            Assert.AreEqual(obj2.Text, result[1].Text);

            Assert.AreEqual(obj1.Id, result[0].Id);
            Assert.AreEqual(obj2.Id, result[1].Id);

            db.Close();
        }
Example #3
0
        public void ShouldPersistAndReadEnum()
        {
            var db = new TestDb(TestPath.GetTempFileName());

            var obj1 = new TestObj()
            {
                Id = 1, Value = TestEnum.Value2
            };
            var obj2 = new TestObj()
            {
                Id = 2, Value = TestEnum.Value3
            };

            var numIn1 = db.Insert(obj1);
            var numIn2 = db.Insert(obj2);

            Assert.AreEqual(1, numIn1);
            Assert.AreEqual(1, numIn2);

            var result = db.Query <TestObj>("select * from TestObj").ToList();

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(obj1.Value, result[0].Value);
            Assert.AreEqual(obj2.Value, result[1].Value);

            Assert.AreEqual(obj1.Id, result[0].Id);
            Assert.AreEqual(obj2.Id, result[1].Id);

            db.Close();
        }
Example #4
0
        public void InsertIntoTwoTables()
        {
            var db   = new TestDb(Path.GetTempFileName());
            var obj1 = new TestObj()
            {
                Text = "GLaDOS loves testing!"
            };
            var obj2 = new TestObj2()
            {
                Text = "Keep testing, just keep testing"
            };

            var numIn1 = db.Insert(obj1);

            Assert.AreEqual(1, numIn1);
            var numIn2 = db.Insert(obj2);

            Assert.AreEqual(1, numIn2);

            var result1 = db.Query <TestObj>("select * from TestObj").ToList();

            Assert.AreEqual(numIn1, result1.Count);
            Assert.AreEqual(obj1.Text, result1.First().Text);

            var result2 = db.Query <TestObj>("select * from TestObj2").ToList();

            Assert.AreEqual(numIn2, result2.Count);

            db.Close();
        }
Example #5
0
        public void InsertWithExtra()
        {
            var db   = new TestDb(Path.GetTempFileName());
            var obj1 = new TestObj2()
            {
                Id = 1, Text = "GLaDOS loves testing!"
            };
            var obj2 = new TestObj2()
            {
                Id = 1, Text = "Keep testing, just keep testing"
            };
            var obj3 = new TestObj2()
            {
                Id = 1, Text = "Done testing"
            };

            db.Insert(obj1);


            try {
                db.Insert(obj2);
                Assert.Fail("Expected unique constraint violation");
            }
            catch (SQLiteException) {
            }
            db.Insert(obj2, "OR REPLACE");


            try {
                db.Insert(obj3);
                Assert.Fail("Expected unique constraint violation");
            }
            catch (SQLiteException) {
            }
            db.Insert(obj3, "OR IGNORE");

            var result = db.Query <TestObj>("select * from TestObj2").ToList();

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(obj2.Text, result.First().Text);


            db.Close();
        }
        public void ShouldPersistAndReadGuid() {
            var db = new TestDb(TestPath.GetTempFileName());

            var obj1 = new TestObj() { Id=new Guid("36473164-C9E4-4CDF-B266-A0B287C85623"), Text = "First Guid Object" };
            var obj2 = new TestObj() {  Id=new Guid("BC5C4C4A-CA57-4B61-8B53-9FD4673528B6"), Text = "Second Guid Object" };

            var numIn1 = db.Insert(obj1);
            var numIn2 = db.Insert(obj2);
            Assert.AreEqual(1, numIn1);
            Assert.AreEqual(1, numIn2);

            var result = db.Query<TestObj>("select * from TestObj").ToList();
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(obj1.Text, result[0].Text);
            Assert.AreEqual(obj2.Text, result[1].Text);

            Assert.AreEqual(obj1.Id, result[0].Id);
            Assert.AreEqual(obj2.Id, result[1].Id);

            db.Close();
        }
Example #7
0
        public void ShouldPersistAndReadEnum()
        {
            var db = new TestDb(TestPath.GetTempFileName());

            var obj1 = new TestObj() { Id = 1, Value = TestEnum.Value2 };
            var obj2 = new TestObj() { Id = 2, Value = TestEnum.Value3 };

            var numIn1 = db.Insert(obj1);
            var numIn2 = db.Insert(obj2);
            Assert.AreEqual(1, numIn1);
            Assert.AreEqual(1, numIn2);

            var result = db.Query<TestObj>("select * from TestObj").ToList();
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(obj1.Value, result[0].Value);
            Assert.AreEqual(obj2.Value, result[1].Value);

            Assert.AreEqual(obj1.Id, result[0].Id);
            Assert.AreEqual(obj2.Id, result[1].Id);

            db.Close();
        }
Example #8
0
        public void InsertALot()
        {
            int n = 100000;
            var q = from i in Enumerable.Range(1, n)
                    select new TestObj()
            {
                Text = "I am"
            };
            var objs = q.ToArray();
            var db   = new TestDb(Path.GetTempFileName());

            db.Trace = false;

            var sw = new Stopwatch();

            sw.Start();

            var numIn = db.InsertAll(objs);

            sw.Stop();

            Assert.AreEqual(numIn, n, "Num inserted must = num objects");

            var inObjs = db.CreateCommand("select * from TestObj").ExecuteQuery <TestObj>().ToArray();

            for (var i = 0; i < inObjs.Length; i++)
            {
                Assert.AreEqual(i + 1, objs[i].Id);
                Assert.AreEqual(i + 1, inObjs[i].Id);
                Assert.AreEqual("I am", inObjs[i].Text);
            }

            var numCount = db.CreateCommand("select count(*) from TestObj").ExecuteScalar <int>();

            Assert.AreEqual(numCount, n, "Num counted must = num objects");

            db.Close();
        }