}
[Test]
- public void GG ()
+ public void MoreThanOneType ()
{
Evaluator.Run ("public class D { int x; public int X { get { return x; } set { x = value;} } };");
Evaluator.Run ("public class C { public int Speed{get;set;}};");
}
+
+ [Test]
+ public void StructType ()
+ {
+ Evaluator.Run ("class C { }");
+ Evaluator.Run ("struct B { public string foo; public int bar; }");
+ Evaluator.Run ("B aStruct = new B { foo = \"foo\", bar = 1 };");
+ }
+
+ [Test]
+ public void NestedType ()
+ {
+ 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