private void ShouldCreateInstance(IEnumUtilities enumUtilities) { try { var _ = new EnumOptionsExtractor(enumUtilities); } catch { Assert.True(false, "Exception was thrown when none was expected!"); } }
private void ShouldOutputNullIfNotEnum( Type propType, [Frozen] Mock <IEnumUtilities> enumUtils, EnumOptionsExtractor sut ) { enumUtils.Setup(eu => eu.IsEnum(It.IsAny <Type>())).Returns(false); var _ = sut.TryGetEnumOptions(propType, out var options); Assert.Null(options); }
private void ShouldReturnFalseIfNotEnum( Type propType, [Frozen] Mock <IEnumUtilities> enumUtils, EnumOptionsExtractor sut ) { enumUtils.Setup(eu => eu.IsEnum(It.IsAny <Type>())).Returns(false); var isEnum = sut.TryGetEnumOptions(propType, out _); Assert.False(isEnum); }
private void ShouldVerifyIfTypeIsEnumWithEnumUtils( Type propType, [Frozen] Mock <IEnumUtilities> enumUtils, EnumOptionsExtractor sut ) { enumUtils.Setup(eu => eu.IsEnum(It.IsAny <Type>())); var _ = sut.TryGetEnumOptions(propType, out var _); enumUtils.Verify(eu => eu.IsEnum(propType), Times.Once); }
private void ShouldGetNamesFromEnumUtils( Type propType, [Frozen] Mock <IEnumUtilities> enumUtils, EnumOptionsExtractor sut ) { enumUtils.Setup(eu => eu.IsEnum(It.IsAny <Type>())).Returns(true); enumUtils.Setup(eu => eu.GetNames(It.IsAny <Type>())).Returns(new string[] { }); enumUtils.Setup(eu => eu.GetValues(It.IsAny <Type>())).Returns(new int[] { }); var _ = sut.TryGetEnumOptions(propType, out var _); enumUtils.Verify(eu => eu.GetNames(propType), Times.Once); }
private void ShouldReturnTrueIfEnumType( Type propType, [Frozen] Mock <IEnumUtilities> enumUtils, EnumOptionsExtractor sut ) { enumUtils.Setup(eu => eu.IsEnum(It.IsAny <Type>())).Returns(true); enumUtils.Setup(eu => eu.GetNames(It.IsAny <Type>())).Returns(new string[] { }); enumUtils.Setup(eu => eu.GetValues(It.IsAny <Type>())).Returns(new int[] { }); var isEnum = sut.TryGetEnumOptions(propType, out _); Assert.True(isEnum); }
private void ShouldGetFieldsFromEnumUtils( Type propType, string[] names, int[] values, [Frozen] Mock <IEnumUtilities> enumUtils, EnumOptionsExtractor sut ) { var expectedResult = values.Select((value, index) => new FieldOption { Name = names[index], Value = value }) .ToArray(); enumUtils.Setup(eu => eu.IsEnum(It.IsAny <Type>())).Returns(true); enumUtils.Setup(eu => eu.GetNames(It.IsAny <Type>())).Returns(names); enumUtils.Setup(eu => eu.GetValues(It.IsAny <Type>())).Returns(values); var _ = sut.TryGetEnumOptions(propType, out var options); Assert.Equal(expectedResult, options); }
private void ShouldThrowArgumentNullExceptionWhenPropertyTypeIsNull( EnumOptionsExtractor sut ) { Assert.Throws <ArgumentNullException>(() => sut.TryGetEnumOptions(null, out _)); }