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));
        }