public void Convert_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.Convert(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_ValidStringToInt32_ReturnsExpected(object value, CultureInfo culture, int expectedResult, int minimum, int maximum) { var uut = new Int32ToStringValueConverterAndValidationRule() { Minimum = minimum, Maximum = maximum }; var targetType = typeof(int); var parameter = (object)null; uut.Convert(value, targetType, parameter, culture).ShouldBe(expectedResult); }
public void Convert_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.Convert(value, targetType, parameter, culture)); result.ParamName.ShouldBe(nameof(targetType)); }
public void Convert_ConversionIsInvalid_ThrowsException(object value, Type targetType) { var uut = new Int32ToStringValueConverterAndValidationRule(); var parameter = (object)null; var culture = (CultureInfo)null; var result = Should.Throw<NotSupportedException>(() => { uut.Convert(value, targetType, parameter, culture); }); result.ShouldSatisfyAllConditions( () => result.Message.ShouldContain(value?.GetType().Name ?? "null"), () => result.Message.ShouldContain(targetType.Name)); }
public void ConvertBack_InvalidInt32ToString_ReturnsExpected(int value, CultureInfo culture, int minimum, int maximum) { var uut = new Int32ToStringValueConverterAndValidationRule() { Minimum = minimum, Maximum = maximum }; var targetType = typeof(string); var parameter = (object)null; var result = Should.Throw<ArgumentOutOfRangeException>(() => { uut.Convert(value, targetType, parameter, culture); }); result.ShouldSatisfyAllConditions( () => result.ParamName.ShouldBe(nameof(value)), () => result.ActualValue.ShouldBe(value), () => result.Message.ShouldContain(minimum.ToString()), () => result.Message.ShouldContain(maximum.ToString())); }