public async Task Add_returnsExistingValue_keyExists()
        {
            await PartitionedStorage.Add(TestKey, TestValue("added-1"));

            var value = await PartitionedStorage.Add(TestKey, TestValue("added-2"));

            value.Should().Be(2);
        }
        public async Task TryGet_returnsExistingValue_keyExits()
        {
            await PartitionedStorage.Add(TestKey, TestValue("added"));

            var value = await PartitionedStorage.TryGet(TestKey, 1);

            value.Should().BeEquivalentTo(
                new { Value = TestValue("added") with {
                          Audit = Audit()
                      } },
        public async Task TryGet_returnsNone_noKey()
        {
            var value = await PartitionedStorage.TryGet(TestKey, 1);

            value.Should().Be((Option <ValueRecord>)Option.None);
        }
 public async Task TryGet_throwsException_indexIsZero()
 {
     await PartitionedStorage.Awaiting(x => x.TryGet(TestKey, 0))
     .Should().ThrowAsync <ArgumentOutOfRangeException>();
 }
        public async Task Add_returnsAddedValue_noKey()
        {
            var value = await PartitionedStorage.Add(TestKey, TestValue("added"));

            value.Should().Be(1);
        }