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); }
public void SimpleUsage() { var handler = new ProcedureHandler (typeof(ProcedureHandlerTest).GetMethod ("TestProcedure")); Assert.AreEqual (3.14159f, handler.Invoke (new object[] { 3, 0.14159f })); }
public void DefaultArguments() { var handler = new ProcedureHandler (typeof(ProcedureHandlerTest).GetMethod ("TestProcedureWithDefaultArg")); Assert.AreEqual ("42foo", handler.Invoke (new object[] { 42, Type.Missing })); }