コード例 #1
0
ファイル: SqliteCacheTests.cs プロジェクト: buybackoff/Twice
        public async Task CachingEmptyHashtagListDoesNothing()
        {
            // Arrange
            using (var con = OpenConnection())
                using (var cache = new SqliteCache(con))
                {
                    // Act ReSharper disable once AccessToDisposedClosure
                    var ex = await ExceptionAssert.CatchAsync <Exception>(() => cache.AddHashtags(new List <string>()));

                    // Assert
                    Assert.IsNull(ex);
                }
        }
コード例 #2
0
        public async Task HashtagCanBeAdded()
        {
            // Arrange
            using (var con = OpenConnection())
                using (var cache = new SqliteCache(con))
                {
                    // Act
                    await cache.AddHashtags(new[] { "test" });

                    // Assert
                    using (var cmd = con.CreateCommand())
                    {
                        cmd.CommandText = "SELECT Tag FROM Hashtags WHERE Tag = 'test';";

                        var fromDb = cmd.ExecuteScalar();
                        Assert.AreEqual("test", fromDb);
                    }
                }
        }
コード例 #3
0
        public async Task ClearRemovesAllDataFromCache()
        {
            // Arrange
            using (var con = OpenConnection())
                using (var cache = new SqliteCache(con))
                {
                    await cache.AddHashtags(new[] { "one", "two", "three" });

                    await cache.AddMessages(new[] { new MessageCacheEntry(DummyGenerator.CreateDummyMessage()) });

                    await cache.AddStatuses(new[] { DummyGenerator.CreateDummyStatus() });

                    var userToCache = DummyGenerator.CreateDummyUserEx(1);
                    userToCache.Name = userToCache.ScreenName = "test";
                    await cache.AddUsers(new[] { new UserCacheEntry(userToCache) });

                    // Act
                    await cache.Clear();

                    // Assert
                    var tags = await cache.GetKnownHashtags();

                    Assert.AreEqual(0, tags.Count());

                    var msg = await cache.GetMessages();

                    Assert.AreEqual(0, msg.Count);

                    var user = await cache.GetUser(1);

                    Assert.IsNull(user);

                    var status = await cache.GetStatus(0);

                    Assert.IsNull(status);
                }
        }