public void ShouldNotThrowIfIsNotT()
        {
            var exc = new ArgumentOutOfRangeException();
            var err = new ResponsePipelineError(exc);

            var recordedExc = Record.Exception(() => err.EnsureThrownIf <ProtocolException>());

            recordedExc.Should().BeNull();
        }
        public void ShouldThrowIfNotThrown()
        {
            var exc = new ArgumentOutOfRangeException();
            var err = new ResponsePipelineError(exc);

            var recordedExc = Record.Exception(() => err.EnsureThrown());

            recordedExc.Should().Be(exc);
        }
        public void ShouldNotThrowIfPredicateIsFalse()
        {
            var exc = new ArgumentOutOfRangeException();
            var err = new ResponsePipelineError(exc);

            var recordedExc = Record.Exception(() => err.EnsureThrownIf(e => false));

            recordedExc.Should().BeNull();
        }
        public void ShouldReturnPredicateResultOnIs(bool predicateReturns)
        {
            var err = new ResponsePipelineError(new ArgumentOutOfRangeException());

            err.Is(e => predicateReturns).Should().Be(predicateReturns);
        }
        public void ShouldReturnFalseIfIsNotT()
        {
            var err = new ResponsePipelineError(new ArgumentOutOfRangeException());

            err.Is <ProtocolException>().Should().BeFalse();
        }
        public void ShouldReturnTrueIfIsT()
        {
            var err = new ResponsePipelineError(new ArgumentOutOfRangeException());

            err.Is <ArgumentOutOfRangeException>().Should().BeTrue();
        }