public void CreateInstance_NamedArgument() { var declaration = new CustomAttributeDeclaration(_defaultCtor, new object[0], new NamedArgumentDeclaration(_property, 4711)); var instance = (AbcAttribute)declaration.CreateInstance(); Assert.That(instance.Property, Is.EqualTo(4711)); }
public void CreateInstance_CtorArgument() { ICustomAttributeData declaration = new CustomAttributeDeclaration(_ctorWithArgs, new object[] { 7 }); var instance = (AbcAttribute)declaration.CreateInstance(); Assert.That(instance.CtorArg, Is.EqualTo(7)); }
public void CreateInstance_NullArguments() { var ctorArg = new object[] { "x", null }; var declaration = new CustomAttributeDeclaration( _ctorWithArgs, new object[] { ctorArg }, new NamedArgumentDeclaration(_property, null)); var instance = (AbcAttribute)declaration.CreateInstance(); Assert.That(instance.CtorArg, Is.EqualTo(ctorArg)); Assert.That(instance.Property, Is.Null); }
public void CreateInstance_ComplexArguments() { var ctorArg = new object[] { "x", 7, typeof(int), new[] { MyEnum.C, MyEnum.A } }; var namedArg = new object[] { "z", 8, new[] { 1, 2, 3 }, new[] { typeof(double), typeof(string) }, MyEnum.B }; var declaration = new CustomAttributeDeclaration( _ctorWithArgs, new object[] { ctorArg }, new NamedArgumentDeclaration(_property, namedArg)); var instance = (AbcAttribute)declaration.CreateInstance(); Assert.That(instance.CtorArg, Is.EqualTo(ctorArg)); Assert.That(instance.Property, Is.EqualTo(namedArg)); }