Ejemplo n.º 1
0
        public void Stateless()
        {
            bool            disposed        = false;
            Task <Metadata> responseHeaders = Task.FromResult(new Metadata());
            Metadata        trailers        = new Metadata();
            var             state           = new AsyncCallState(responseHeaders, () => new Status(StatusCode.DataLoss, "oops"),
                                                                 () => trailers, () => disposed = true);

            Assert.AreSame(responseHeaders, state.ResponseHeadersAsync());

            var status = state.GetStatus();

            Assert.AreEqual(StatusCode.DataLoss, status.StatusCode);
            Assert.AreEqual("oops", status.Detail);

            Assert.AreSame(trailers, state.GetTrailers());

            Assert.False(disposed);
            state.Dispose();
            Assert.True(disposed);
        }
Ejemplo n.º 2
0
        public void WithState()
        {
            var callbackState = new State();

            var state = new AsyncCallState(
                obj => ((State)obj).responseHeaders,
                obj => ((State)obj).status,
                obj => ((State)obj).trailers,
                obj => ((State)obj).Dispose(),
                callbackState);

            Assert.AreSame(callbackState.responseHeaders, state.ResponseHeadersAsync());

            var status = state.GetStatus();

            Assert.AreEqual(StatusCode.DataLoss, status.StatusCode);
            Assert.AreEqual("oops", status.Detail);

            Assert.AreSame(callbackState.trailers, state.GetTrailers());

            Assert.False(callbackState.disposed);
            state.Dispose();
            Assert.True(callbackState.disposed);
        }