public void SQLiteSimpleCacheRemoveAllTest ()
		{
			SQLiteConnectionString connstring = new SQLiteConnectionString("somepath",false,new Mocks.MockBlobSerializer());
			SQLiteSimpleCache cache = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(),connstring,new Mocks.MockByteSerializer());
			cache.RemoveAll (new List<string>{"1","2","3"});
  			Assert.AreEqual (3, MockBase.DeleteStatementsExecuted.Count);
		}
		public void SQLiteSimpleCacheSet_T_Test()
		{
			SQLiteConnectionString connstring = new SQLiteConnectionString("somepath",false,new Mocks.MockBlobSerializer());
			SQLiteSimpleCache cache = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(),connstring,new Mocks.MockByteSerializer());
			cache.Set<MockSQLiteData>("1",new MockSQLiteData());
			Assert.AreEqual (1, MockBase.InsertOrReplaceStatementsExecuted.Count);
		}
        public void SQLiteSimpleCacheSet_T_Test()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());

            cache.Set <MockSQLiteData>("1", new MockSQLiteData());
            Assert.AreEqual(1, MockBase.InsertOrReplaceStatementsExecuted.Count);
        }
        public void SQLiteSimpleCacheFlushAll_T_Test()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());

            cache.FlushAll();
            Assert.AreEqual(1, MockBase.DeleteStatementsExecuted.Count);
        }
        public void SQLiteSimpleCacheConstTest()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());

            Assert.IsInstanceOf <SQLiteSimpleCache>(cache);
            Assert.AreEqual(1, MockBase.CreateStatementsExecuted.Count);
        }
        public async Task SQLiteSimpleCacheAdd_T_AsyncTest()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());
            await cache.AddAsync <MockSQLiteData>("test", new MockSQLiteData());

            Assert.AreEqual(1, MockBase.InsertStatementsExecuted.Count);
        }
        public async Task SQLiteSimpleCacheRemoveAsyncTest()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());
            await cache.RemoveAsync("1");

            Assert.AreEqual(1, MockBase.DeleteStatementsExecuted.Count);
        }
		public void SQLiteSimpleCacheGet_T_Test ()
		{
			SQLiteConnectionString connstring = new SQLiteConnectionString("somepath",false,new Mocks.MockBlobSerializer());
			SQLiteSimpleCache cache = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(),connstring,new Mocks.MockByteSerializer());
			MockSQLiteData myObject = cache.Get<MockSQLiteData>("1");
			//The SQLIteConnection seems to run the command twice 
			//this might be a bug in SQLite that is fixed later thus less then or equal is used.
			Assert.LessOrEqual(1, MockBase.SelectStatementsExecuted.Count);
		}
		public void SQLiteSimpleCacheConstTest ()
		{
			SQLiteConnectionString connstring = new SQLiteConnectionString("somepath",false,new Mocks.MockBlobSerializer());
			SQLiteSimpleCache cache = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(),connstring,new Mocks.MockByteSerializer());
			Assert.IsInstanceOf<SQLiteSimpleCache>(cache);
			Assert.AreEqual (1, MockBase.CreateStatementsExecuted.Count);


		}
        public void SQLiteSimpleCacheGet_T_Test()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());
            MockSQLiteData         myObject   = cache.Get <MockSQLiteData>("1");

            //The SQLIteConnection seems to run the command twice
            //this might be a bug in SQLite that is fixed later thus less then or equal is used.
            Assert.LessOrEqual(1, MockBase.SelectStatementsExecuted.Count);
        }
        public void SQLiteSimpleCacheRemoveAllTest()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());

            cache.RemoveAll(new List <string> {
                "1", "2", "3"
            });
            Assert.AreEqual(3, MockBase.DeleteStatementsExecuted.Count);
        }
        public async Task SQLiteSimpleCacheGetAll_T_AsyncTest()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());
            await cache.GetAllAsync <MockSQLiteData>(new List <string>(){ "0" });

            //The SQLIteConnection seems to run the command twice
            //this might be a bug in SQLite that is fixed later thus less then or equal is used.
            Assert.LessOrEqual(1, MockBase.SelectStatementsExecuted.Count);
        }
        public async Task SQLiteSimpleCacheSetAllAsync_T_Test()
        {
            SQLiteConnectionString connstring = new SQLiteConnectionString("somepath", false, new Mocks.MockBlobSerializer());
            SQLiteSimpleCache      cache      = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(), connstring, new Mocks.MockByteSerializer());
            await cache.SetAllAsync <MockSQLiteData>(new Dictionary <string, MockSQLiteData>()
            {
                { "0", new MockSQLiteData() },
                { "1", new MockSQLiteData() }
            });

            Assert.AreEqual(2, MockBase.InsertOrReplaceStatementsExecuted.Count);
        }
		public void SQLiteSimpleCacheFlushAll_T_Test()
		{
			SQLiteConnectionString connstring = new SQLiteConnectionString("somepath",false,new Mocks.MockBlobSerializer());
			SQLiteSimpleCache cache = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(),connstring,new Mocks.MockByteSerializer());
			cache.FlushAll();
			Assert.AreEqual (1, MockBase.DeleteStatementsExecuted.Count);
		}
		public async void SQLiteSimpleCacheSetAllAsync_T_Test()
		{
			SQLiteConnectionString connstring = new SQLiteConnectionString("somepath",false,new Mocks.MockBlobSerializer());
			SQLiteSimpleCache cache = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(),connstring,new Mocks.MockByteSerializer());
			await cache.SetAllAsync<MockSQLiteData>(new Dictionary<string,MockSQLiteData>()
				{
					{"0",new MockSQLiteData()},
					{"1",new MockSQLiteData()}
				});
			Assert.AreEqual (2, MockBase.InsertOrReplaceStatementsExecuted.Count);
		}
		public async void SQLiteSimpleCacheReplace_T_AsyncTest()
		{
			SQLiteConnectionString connstring = new SQLiteConnectionString("somepath",false,new Mocks.MockBlobSerializer());
			SQLiteSimpleCache cache = new SQLiteSimpleCache(new Mocks.MockSqlLiteProvider(),connstring,new Mocks.MockByteSerializer());
			await cache.ReplaceAsync<MockSQLiteData>("1",new MockSQLiteData());
			Assert.AreEqual (1, MockBase.DeleteStatementsExecuted.Count);
			Assert.AreEqual (1, MockBase.InsertStatementsExecuted.Count);
		}