public async Task Can_SetItemInHashIfNotExists() { var mapValues = CreateMap(); await mapValues.ForEachAsync(async (k, v) => await redis.SetEntryInHashAsync(Hash, k, v)); var existingMember = mapValues.First().Key; var nonExistingMember = existingMember + "notexists"; var lastValue = mapValues.Last().Value; await redis.SetEntryInHashIfNotExistsAsync(Hash, existingMember, lastValue); await redis.SetEntryInHashIfNotExistsAsync(Hash, nonExistingMember, lastValue); mapValues[nonExistingMember] = lastValue; var members = await redis.GetAllEntriesFromHashAsync(Hash); Assert.That(members, Is.EquivalentTo(mapValues)); }