public void ConvertBack_InvalidStringToInt32_ThrowsException(object value, CultureInfo culture, int minimum, int maximum) { var uut = new Int32ToStringValueConverterAndValidationRule() { Minimum = minimum, Maximum = maximum }; var targetType = typeof(int); var parameter = (object)null; var result = Should.Throw<Exception>(() => { uut.ConvertBack(value, targetType, parameter, culture); }); result.ShouldSatisfyAnyCondition( () => result.ShouldSatisfyAllConditions( () => result.ShouldBeOfType<ArgumentException>(), () => (result as ArgumentException)?.ParamName.ShouldBe(nameof(value)), () => (result as ArgumentException)?.Message.ShouldContain(value?.ToString() ?? "null")), () => result.ShouldSatisfyAllConditions( () => result.ShouldBeOfType<ArgumentOutOfRangeException>(), () => (result as ArgumentOutOfRangeException)?.ParamName.ShouldBe(nameof(value)), () => (result as ArgumentOutOfRangeException)?.ActualValue.ShouldBe(value), () => (result as ArgumentOutOfRangeException)?.Message.ShouldContain(minimum.ToString()), () => (result as ArgumentOutOfRangeException)?.Message.ShouldContain(maximum.ToString()))); }
public void ConvertBack_ConversionIsInvalid_ThrowsException(object value, Type targetType) { var uut = new Int32ToStringValueConverterAndValidationRule(); var parameter = (object)null; var culture = (CultureInfo)null; var result = Should.Throw<NotSupportedException>(() => { uut.ConvertBack(value, targetType, parameter, culture); }); result.ShouldSatisfyAllConditions( () => result.Message.ShouldContain(value?.GetType().Name ?? "null"), () => result.Message.ShouldContain(targetType.Name)); }
public void ConvertBack_TargetTypeIsNull_ThrowsException() { var uut = new Int32ToStringValueConverterAndValidationRule(); var value = 0; var targetType = (Type)null; var parameter = (object)null; var culture = (CultureInfo)null; var result = Should.Throw<ArgumentNullException>(() => { uut.ConvertBack(value, targetType, parameter, culture); }); result.ParamName.ShouldBe(nameof(targetType)); }