Esempio n. 1
0
        public async Task UserFriendsCanBeCached()
        {
            // Arrange
            using (var con = OpenConnection())
                using (var cache = new SqliteCache(con))
                {
                    // Act
                    await cache.SetUserFriends(123, new ulong[] { 1, 2, 3 });

                    // Assert
                    using (var cmd = con.CreateCommand())
                    {
                        cmd.CommandText = "SELECT FriendId FROM UserFriends WHERE UserId = '123' ORDER BY FriendId;";
                        using (var reader = cmd.ExecuteReader())
                        {
                            Assert.IsTrue(reader.Read());
                            int id = reader.GetInt32(0);
                            Assert.AreEqual(1, id);

                            Assert.IsTrue(reader.Read());
                            id = reader.GetInt32(0);
                            Assert.AreEqual(2, id);

                            Assert.IsTrue(reader.Read());
                            id = reader.GetInt32(0);
                            Assert.AreEqual(3, id);
                        }
                    }
                }
        }
Esempio n. 2
0
        public async Task OldFriendsAreOverwritten()
        {
            // Arrange
            using (var con = OpenConnection())
                using (var cache = new SqliteCache(con))
                {
                    using (var cmd = con.CreateCommand())
                    {
                        cmd.CommandText = "INSERT INTO UserFriends (UserId, FriendId) VALUES (123,1), (123,2), (123,3);";
                        cmd.ExecuteNonQuery();
                    }

                    // Act
                    await cache.SetUserFriends(123, new ulong[] { 4, 5, 6 });

                    // Assert
                    using (var cmd = con.CreateCommand())
                    {
                        cmd.CommandText = "SELECT FriendId FROM UserFriends WHERE UserId = '123' ORDER BY FriendId;";
                        using (var reader = cmd.ExecuteReader())
                        {
                            Assert.IsTrue(reader.Read());
                            int id = reader.GetInt32(0);
                            Assert.AreEqual(4, id);

                            Assert.IsTrue(reader.Read());
                            id = reader.GetInt32(0);
                            Assert.AreEqual(5, id);

                            Assert.IsTrue(reader.Read());
                            id = reader.GetInt32(0);
                            Assert.AreEqual(6, id);
                        }
                    }
                }
        }