public void PropertyAsParameterInfoTests_ContainsPropertyCustomAttributes() { // Arrange var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.WithTestAttribute)); var parameterInfo = new PropertyAsParameterInfo(propertyInfo); // Act & Assert Assert.Single(parameterInfo.GetCustomAttributes(typeof(TestAttribute))); }
public void PropertyAsParameterInfoTests_DoesNotHaveDefaultValueFromProperty() { // Arrange & Act var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.NoAttribute)); var parameterInfo = new PropertyAsParameterInfo(propertyInfo); // Assert Assert.False(parameterInfo.HasDefaultValue); }
public void PropertyAsParameterInfoTests_WithConstructorArgument_FallbackToPropertyCustomAttributes() { // Arrange var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.WithTestAttribute)); var parameter = GetParameter(nameof(ArgumentList.DefaultMethod), nameof(ArgumentList.NoAttribute)); var parameterInfo = new PropertyAsParameterInfo(propertyInfo, parameter); // Act & Assert Assert.Single(parameterInfo.GetCustomAttributes(typeof(TestAttribute))); }
public void PropertyAsParameterInfoTests_WithConstructorArgument_DoesNotHaveDefaultValue() { // Arrange & Act var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.NoAttribute)); var parameter = GetParameter(nameof(ArgumentList.DefaultMethod), nameof(ArgumentList.NoAttribute)); var parameterInfo = new PropertyAsParameterInfo(propertyInfo, parameter); // Assert Assert.False(parameterInfo.HasDefaultValue); }
public void Initialization_SetsTypeAndNameFromPropertyInfo() { // Arrange & Act var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.NoAttribute)); var parameterInfo = new PropertyAsParameterInfo(propertyInfo); // Assert Assert.Equal(propertyInfo.Name, parameterInfo.Name); Assert.Equal(propertyInfo.PropertyType, parameterInfo.ParameterType); }
public void Initialization_WithConstructorArgument_SetsTypeAndNameFromPropertyInfo() { // Arrange & Act var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.NoAttribute)); var parameter = GetParameter(nameof(ArgumentList.DefaultMethod), nameof(ArgumentList.NoAttribute)); var parameterInfo = new PropertyAsParameterInfo(propertyInfo, parameter); // Assert Assert.Equal(propertyInfo.Name, parameterInfo.Name); Assert.Equal(propertyInfo.PropertyType, parameterInfo.ParameterType); }
public void PropertyAsParameterInfoTests_ContainsPropertyCustomAttributesData() { // Arrange var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.WithTestAttribute)); var parameterInfo = new PropertyAsParameterInfo(propertyInfo); // Act var attributes = parameterInfo.GetCustomAttributesData(); // Assert Assert.Single( attributes, a => typeof(TestAttribute).IsAssignableFrom(a.AttributeType)); }
public void PropertyAsParameterInfoTests_WithConstructorArgument_HasDefaultValue() { // Arrange & Act var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.NoAttribute)); var parameter = GetParameter(nameof(ArgumentList.DefaultMethod), "withDefaultValue"); var parameterInfo = new PropertyAsParameterInfo(propertyInfo, parameter); // Assert Assert.True(parameterInfo.HasDefaultValue); Assert.NotNull(parameterInfo.DefaultValue); Assert.IsType <int>(parameterInfo.DefaultValue); Assert.NotNull(parameterInfo.RawDefaultValue); Assert.IsType <int>(parameterInfo.RawDefaultValue); }
public void PropertyAsParameterInfoTests_WithConstructorArgument_MergePropertyAndParameterCustomAttributesData() { // Arrange & Act var propertyInfo = GetProperty(typeof(ArgumentList), nameof(ArgumentList.WithTestAttribute)); var parameter = GetParameter(nameof(ArgumentList.DefaultMethod), nameof(ArgumentList.WithSampleAttribute)); var parameterInfo = new PropertyAsParameterInfo(propertyInfo, parameter); // Act var attributes = parameterInfo.GetCustomAttributesData(); // Assert Assert.Single( parameterInfo.GetCustomAttributesData(), a => typeof(TestAttribute).IsAssignableFrom(a.AttributeType)); Assert.Single( parameterInfo.GetCustomAttributesData(), a => typeof(SampleAttribute).IsAssignableFrom(a.AttributeType)); }