public async Task Test_Insert_First_Update_Delete()
        {
            var creating = DocumentClientTest.NewDocument();
            var created  = await _documentClient.InsertAsync(creating, CancellationToken.None);

            DocumentClientTest.Test(creating, created);

            var received = await _documentClient.FirstOrDefaultAsync <TestDocument>(
                created.Id, created.PartitionId, CancellationToken.None);

            DocumentClientTest.Test(created, received);

            DocumentClientTest.Update(created);

            var updated = await _documentClient.UpdateAsync(created, CancellationToken.None);

            DocumentClientTest.Test(created, updated);

            await _documentClient.DeleteAsync(updated.Id, updated.PartitionId, CancellationToken.None);

            var deleted = await _documentClient.FirstOrDefaultAsync <TestDocument>(
                updated.Id, updated.PartitionId, CancellationToken.None);

            Assert.IsNull(deleted);
        }
        public async Task Test_Double_Update()
        {
            var creating = DocumentClientTest.NewDocument();
            var created  = await _documentClient.InsertAsync(creating, CancellationToken.None);

            var document0 = created;
            var document1 = created;

            DocumentClientTest.Update(document0);
            DocumentClientTest.Update(document1);

            var updated0 = await _documentClient.UpdateAsync(document0, CancellationToken.None);

            var updated1 = await _documentClient.UpdateAsync(document1, CancellationToken.None);

            DocumentClientTest.Test(updated0, updated1);
        }