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); } } } }
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); } } } }