示例#1
0
 public void Properties()
 {
     var handler = new ProcedureHandler (typeof(ProcedureHandlerTest).GetMethod ("TestProcedure"));
     var parameters = handler.Parameters.ToList ();
     Assert.AreEqual (2, parameters.Count);
     Assert.AreEqual ("x", parameters [0].Name);
     Assert.AreEqual ("y", parameters [1].Name);
     Assert.AreEqual (typeof(int), parameters [0].Type);
     Assert.AreEqual (typeof(float), parameters [1].Type);
     Assert.IsFalse (parameters [0].HasDefaultValue);
     Assert.IsFalse (parameters [1].HasDefaultValue);
     Assert.AreEqual (typeof(float), handler.ReturnType);
 }
示例#2
0
 public void SimpleUsage()
 {
     var handler = new ProcedureHandler (typeof(ProcedureHandlerTest).GetMethod ("TestProcedure"));
     Assert.AreEqual (3.14159f, handler.Invoke (new object[] { 3, 0.14159f }));
 }
示例#3
0
 public void DefaultArguments()
 {
     var handler = new ProcedureHandler (typeof(ProcedureHandlerTest).GetMethod ("TestProcedureWithDefaultArg"));
     Assert.AreEqual ("42foo", handler.Invoke (new object[] { 42, Type.Missing }));
 }