Exemple #1
0
 public void TestAttribute1()
 {
     var parser = new Parser("System.FooAttribute");
     var attr = parser.ParseAttribute();
     Assert.IsNotNull(attr);
     Assert.IsTrue(attr.AttrTypeName.PartsAre("System", "FooAttribute"));
 }
Exemple #2
0
 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);
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }