public async Task Storage_ClearStateAsync_Should_DeleteStored_GrainState() { //Arrange InitilizeProviderHost(); ProviderExt = new ElasticStorageProvider(); Provider = ProviderExt; var grainState = new MyTestGrainState() { Etag = "xxx", MyString = "mystring", MyInt = 1 }; await ProviderExt.Init("test", Runtime, Configuration); // due to difficulties in creating grainReference as object we test internal WriteStateToElasticAsync await ProviderExt.WriteStateToElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, grainState); //Act await ProviderExt.ClearStateInElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, grainState); //Assert var anotherCopy = new MyTestGrainState(); var newObject = new MyTestGrainState(); await ProviderExt.ReadStateFromElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, anotherCopy); anotherCopy.ShouldBeEquivalentTo(newObject, x => x.Excluding(t => t.Etag)); }