Browse Source

Add unit test for named attribute argument.

newNRvisualizers
Daniel Grunwald 13 years ago
parent
commit
65097ed48f
  1. 3
      ICSharpCode.NRefactory.Tests/TypeSystem/TypeSystemTests.TestCase.cs
  2. 17
      ICSharpCode.NRefactory.Tests/TypeSystem/TypeSystemTests.cs

3
ICSharpCode.NRefactory.Tests/TypeSystem/TypeSystemTests.TestCase.cs

@ -44,6 +44,9 @@ namespace ICSharpCode.NRefactory.TypeSystem.TestCase @@ -44,6 +44,9 @@ namespace ICSharpCode.NRefactory.TypeSystem.TestCase
public class ParamsAttribute : Attribute
{
public ParamsAttribute(params object[] x) {}
[Params(Property = new string[] { "a", "b" })]
public string[] Property { get; set; }
}
[Double(1)]

17
ICSharpCode.NRefactory.Tests/TypeSystem/TypeSystemTests.cs

@ -821,6 +821,23 @@ namespace ICSharpCode.NRefactory.TypeSystem @@ -821,6 +821,23 @@ namespace ICSharpCode.NRefactory.TypeSystem
Assert.AreEqual("Test", rr.Input.ConstantValue);
}
[Test]
public void ParamsAttribute_Property()
{
ITypeDefinition type = GetTypeDefinition(typeof(ParamsAttribute));
IProperty prop = type.Properties.Single(p => p.Name == "Property");
var attr = prop.Attributes.Single();
Assert.AreEqual(type, attr.AttributeType);
var normalArguments = ((ArrayCreateResolveResult)attr.PositionalArguments.Single()).InitializerElements;
Assert.AreEqual(0, normalArguments.Count);
var namedArg = attr.NamedArguments.Single();
Assert.AreEqual(prop, namedArg.Key);
var arrayElements = ((ArrayCreateResolveResult)namedArg.Value).InitializerElements;
Assert.AreEqual(2, arrayElements.Count);
}
[Test]
public void DoubleAttribute_ImplicitNumericConversion()
{

Loading…
Cancel
Save