{
Evaluator.Run ("class A { class B { } }");
Evaluator.Run ("var x = new A ();");
+ }
+
+ [Test]
+ public void DelegateType ()
+ {
+ Evaluator.Run ("public delegate int D();");
+ Evaluator.Run ("D d = delegate () { return 7; };");
+ object res = Evaluator.Evaluate ("d();");
+ Assert.AreEqual (7, res);
+ }
+
+ [Test]
+ public void ClassWithAttribute ()
+ {
+ Evaluator.Run ("public class A : System.Attribute { }");
+ Evaluator.Run ("[A] public class B {}");
+ Evaluator.Run ("var attr = new B().GetType().GetCustomAttributes(false)[0];");
+
+ object res = Evaluator.Evaluate ("attr.GetType().Name;");
+ Assert.AreEqual ("A", res);
+ }
+ [Test]
+ public void EnumType ()
+ {
+ Evaluator.Run ("public class TestClass { private TestEnum _te; public string Get() { return _te.ToString(); } } public enum TestEnum { First, Second }");
}
}
}
\ No newline at end of file