public async Task GetRecords() { Assert.ThrowsAsync <ArgumentNullException>(async() => await instance.GetRecords(database.Object, null)); Assert.ThrowsAsync <ArgumentNullException>(async() => await instance.GetRecords(null, key)); objecMock.Setup(item => item.GetColumns()).Returns(new[] { "Test" }); objecMock.Setup(item => item.GetInstances(It.IsAny <RedisValue[]>())).Returns(new[] { data }); database.Setup(item => item.KeyExistsAsync(":object:Test", CommandFlags.None)) .Returns(Task.FromResult(true)); database.Setup( item => item.SortAsync( ":object:Test", 0, -1, Order.Ascending, SortType.Numeric, "nosort", It.IsAny <RedisValue[]>(), CommandFlags.PreferMaster)) .Returns(Task.FromResult(new RedisValue[] { })); var record = await instance.GetRecords(database.Object, key).FirstAsync(); Assert.AreSame(data, record); }