示例#1
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);
                }
        }