public void TestAttribute1() { var parser = new Parser("System.FooAttribute"); var attr = parser.ParseAttribute(); Assert.IsNotNull(attr); Assert.IsTrue(attr.AttrTypeName.PartsAre("System", "FooAttribute")); }
public void TestAttribute2() { var parser = new Parser("System.Foo.BarAttribute()"); var attr = parser.ParseAttribute(); Assert.IsNotNull(attr); Assert.IsTrue(attr.AttrTypeName.PartsAre("System", "Foo", "BarAttribute")); Assert.AreEqual(0, attr.Args.Count); }
public void TestAttribute3() { var parser = new Parser("System.Foo.BarAttribute(1, 2)"); var attr = parser.ParseAttribute(); Assert.IsNotNull(attr); Assert.IsTrue(attr.AttrTypeName.PartsAre("System", "Foo", "BarAttribute")); Assert.AreEqual(2, attr.Args.Count); Assert.IsTrue(attr.Args[0] is PositionalAttrArgument); Assert.IsTrue(attr.Args[1] is PositionalAttrArgument); Assert.IsTrue(attr.Args[0].Exp is IntLiteralExp); Assert.IsTrue(attr.Args[1].Exp is IntLiteralExp); }
public void TestAttribute6() { var parser = new Parser("FooAttribute(1, 2, Name=\"whatever\")"); var attr = parser.ParseAttribute(); Assert.IsNotNull(attr); Assert.IsTrue(attr.AttrTypeName.PartsAre("FooAttribute")); Assert.AreEqual(3, attr.Args.Count); var pa1 = attr.Args[0] as PositionalAttrArgument; var pa2 = attr.Args[1] as PositionalAttrArgument; var na = attr.Args[2] as NamedAttrArgument; Assert.IsNotNull(pa1); Assert.IsNotNull(pa2); Assert.IsNotNull(na); Assert.IsTrue(pa1.Exp is IntLiteralExp); Assert.IsTrue(pa2.Exp is IntLiteralExp); Assert.AreEqual("Name", na.Name.Spelling.Value); Assert.IsTrue(na.Exp is StringLiteralExp); }
public void TestAttribute5() { var parser = new Parser("Foo(42, SomeNumberArg=43)"); var attr = parser.ParseAttribute(); Assert.IsNotNull(attr); Assert.IsTrue(attr.AttrTypeName.PartsAre("Foo")); Assert.AreEqual(2, attr.Args.Count); var pa = attr.Args[0] as PositionalAttrArgument; var na = attr.Args[1] as NamedAttrArgument; Assert.IsNotNull(pa); Assert.IsNotNull(na); Assert.IsTrue(pa.Exp is IntLiteralExp); Assert.AreEqual("SomeNumberArg", na.Name.Spelling.Value); Assert.IsTrue(na.Exp is IntLiteralExp); }