public async void Should_replace_an_entity()
            {
                // Arrange
                const string partitionKey  = "ReplaceAsync";
                const string rowKey        = "MyKey";
                const string expectedValue = "SomeOtherValue";
                await RepositoryUnderTest.InsertOrReplaceAsync(new SomeTestEntity
                {
                    PartitionKey = partitionKey,
                    RowKey       = rowKey,
                    ETag         = "*",
                    SomeProp     = "SomeValue"
                });

                // Act
                var result = await RepositoryUnderTest.ReplaceAsync(new SomeTestEntity
                {
                    PartitionKey = partitionKey,
                    RowKey       = rowKey,
                    ETag         = "*",
                    SomeProp     = expectedValue
                });

                // Assert
                Assert.NotNull(result);
                var entity = await RepositoryUnderTest.ReadOneAsync(partitionKey, rowKey);

                Assert.Equal(expectedValue, entity.SomeProp);
            }
            public async void Should()
            {
                // Arrange
                await RepositoryUnderTest.InsertOrReplaceAsync(new SomeTestEntity
                {
                    PartitionKey = "Partition1",
                    RowKey       = "Key1"
                });

                await RepositoryUnderTest.InsertOrReplaceAsync(new SomeTestEntity
                {
                    PartitionKey = "Partition1",
                    RowKey       = "Key2"
                });

                await RepositoryUnderTest.InsertOrReplaceAsync(new SomeTestEntity
                {
                    PartitionKey = "Partition2",
                    RowKey       = "Key1"
                });

                // Act
                var result = await RepositoryUnderTest.ReadAllAsync();

                // Assert
                Assert.NotNull(result);
                Assert.Equal(3, result.Count());
            }
            public async void Should_delete_a_partition()
            {
                // Arrange
                const string partitionName = "DeletePartitionAsync";
                var          entity1       = new SomeTestEntity
                {
                    PartitionKey = partitionName,
                    RowKey       = "MyKey1"
                };
                var entity2 = new SomeTestEntity
                {
                    PartitionKey = partitionName,
                    RowKey       = "MyKey2"
                };
                await RepositoryUnderTest.InsertOrReplaceAsync(entity1);

                await RepositoryUnderTest.InsertOrReplaceAsync(entity2);

                // Act
                var result = await RepositoryUnderTest.DeletePartitionAsync(partitionName);

                // Assert
                Assert.NotNull(result);
                Assert.Equal(2, result.Count());
                var dbResult = await RepositoryUnderTest.ReadPartitionAsync(partitionName);

                Assert.NotNull(dbResult);
                Assert.Equal(0, dbResult.Count());
            }
            public async void Should_insert_or_replace_an_entity()
            {
                // Arrange
                const string partitionName = "InsertOrReplaceAsync";
                const string rowKey        = "MyKey";
                var          entity        = new SomeTestEntity
                {
                    PartitionKey = partitionName,
                    RowKey       = rowKey
                };

                // Act
                var result = await RepositoryUnderTest.InsertOrReplaceAsync(entity);

                // Assert
                Assert.NotNull(result);
            }
            public async void Should_delete_an_entity()
            {
                // Arrange
                const string partitionName = "DeleteOneAsync";
                const string rowKey        = "MyKey";
                var          entity        = new SomeTestEntity
                {
                    PartitionKey = partitionName,
                    RowKey       = rowKey
                };
                await RepositoryUnderTest.InsertOrReplaceAsync(entity);

                // Act
                var result = await RepositoryUnderTest.DeleteOneAsync(partitionName, rowKey);

                // Assert
                Assert.NotNull(result);
                var dbResult = await RepositoryUnderTest.ReadOneAsync(partitionName, rowKey);

                Assert.Null(dbResult);
            }
            public async void Should_return_an_entity()
            {
                // Arrange
                const string partitionName = "ReadOneAsync";
                const string rowKey        = "MyKey";
                const string expectedValue = "SomeValue";
                var          entity        = new SomeTestEntity
                {
                    PartitionKey = partitionName,
                    RowKey       = rowKey,
                    SomeProp     = expectedValue
                };
                await RepositoryUnderTest.InsertOrReplaceAsync(entity);

                // Act
                var result = await RepositoryUnderTest.ReadOneAsync(partitionName, rowKey);

                // Assert
                Assert.NotNull(result);
                Assert.Equal(partitionName, result.PartitionKey);
                Assert.Equal(rowKey, result.RowKey);
                Assert.Equal(expectedValue, result.SomeProp);
            }
            public async void Should_return_an_enumerable()
            {
                // Arrange
                const string partitionName = "ReadPartitionAsync";
                await RepositoryUnderTest.InsertOrReplaceAsync(new SomeTestEntity
                {
                    PartitionKey = partitionName,
                    RowKey       = "Key1"
                });

                await RepositoryUnderTest.InsertOrReplaceAsync(new SomeTestEntity
                {
                    PartitionKey = partitionName,
                    RowKey       = "Key2"
                });

                // Act
                var result = await RepositoryUnderTest.ReadPartitionAsync(partitionName);

                // Assert
                Assert.NotNull(result);
                Assert.Equal(2, result.Count());
            }