public void Convert_Otherwise_ReturnsExpected(bool value, bool expectedResult)
        {
            var parameter = (object)null;
            var culture   = (CultureInfo)null;

            var uut = new BooleanInversionValueConverter();

            uut.Convert(value, typeof(bool), parameter, culture).ShouldBe(expectedResult);
        }
        public void Convert_ConversionIsInvalid_ThrowsException(object value, Type targetType)
        {
            var parameter = (object)null;
            var culture   = (CultureInfo)null;

            var uut = new BooleanInversionValueConverter();

            var result = Should.Throw <NotSupportedException>(() =>
            {
                uut.Convert(value, targetType, parameter, culture);
            });

            result.Message.ShouldContain(value?.GetType().Name ?? "null");
            result.Message.ShouldContain(targetType.Name);
        }
        public void ConvertBack_TargetTypeIsNull_ThrowsException()
        {
            var value      = false;
            var targetType = (Type)null;
            var parameter  = (object)null;
            var culture    = (CultureInfo)null;

            var uut = new BooleanInversionValueConverter();

            var result = Should.Throw <ArgumentNullException>(() =>
            {
                uut.ConvertBack(value, targetType, parameter, culture);
            });

            result.ParamName.ShouldBe(nameof(targetType));
        }