public void With_BitPosition_OutsideOfByteRange_Then_ArgumentOutOfRangeException_IsThrown(
            SutBitFromByteReader sut)
        {
            //a
            var    byteDummy       = new byte();
            ushort bitPositionStub = 9;

            //aa
            Action readMethodCall = () => sut.Read(byteDummy, bitPositionStub);

            //aaa
            readMethodCall.ShouldThrowExactly <ArgumentOutOfRangeException>();
        }
        public void WithValid_BitPosition_Then_NoExceptionIsThrown(
            SutBitFromByteReader sut)
        {
            //a
            var    byteDummy       = new byte();
            ushort bitPositionStub = 4;

            //aa
            Action readMethodCall = () => sut.Read(byteDummy, bitPositionStub);

            //aaa
            readMethodCall.ShouldNotThrow();
        }
        public void With_ValidBitPosition_Then_BitValue_FromThatPosition_IsReturned(
            SutBitFromByteReader sut)
        {
            //a
            var    byteDummy       = new byte();
            ushort bitPositionStub = 4;

            byteDummy = (byte)(byteDummy | (1 << bitPositionStub));

            //aa
            var bitvalue = sut.Read(byteDummy, bitPositionStub);

            //aaa
            bitvalue.Should().BeTrue();
        }