public void Ctor_DefaultHttpContext_FeaturesSet()
        {
            // Arrange
            var httpContext = new DefaultHttpContext();

            // Act
            var feature = new GrpcWebFeature(ServerGrpcWebMode.GrpcWeb, httpContext);

            // Assert
            Assert.AreEqual(feature, httpContext.Features.Get <IHttpResponseBodyFeature>());
            Assert.AreEqual(feature, httpContext.Features.Get <IRequestBodyPipeFeature>());
            Assert.AreEqual(feature, httpContext.Features.Get <IHttpResponseTrailersFeature>());
            Assert.AreEqual(feature, httpContext.Features.Get <IHttpResetFeature>());
        }
        public void DetachFromContext_InitialHttpContext_FeaturesReset()
        {
            // Arrange
            var httpContext         = new DefaultHttpContext();
            var responseBodyFeature = httpContext.Features.Get <IHttpResponseBodyFeature>();
            var feature             = new GrpcWebFeature(ServerGrpcWebMode.GrpcWeb, httpContext);

            // Act
            feature.DetachFromContext(httpContext);

            // Assert
            Assert.AreEqual(responseBodyFeature, httpContext.Features.Get <IHttpResponseBodyFeature>());
            Assert.AreEqual(null, httpContext.Features.Get <IRequestBodyPipeFeature>());
            Assert.AreEqual(null, httpContext.Features.Get <IHttpResponseTrailersFeature>());
            Assert.AreEqual(null, httpContext.Features.Get <IHttpResetFeature>());
        }