Example #1
0
 public void MapParameter_Finds_Parameter_By_Name_When_Shortcut_Is_Null() {
     ArgParserProxy proxy = new ArgParserProxy(typeof(Class1));
     MethodInfo method = typeof(Class1).GetMethod("SingleParamWithoutShortcut");
     Assert.IsNotNull(method);
     ParameterInfo parameter = proxy.MapParameterPublic("i", method);
     Assert.IsNotNull(parameter);
     Assert.AreEqual("i", parameter.Name);
 }
Example #2
0
 public void MapParameter_Finds_Parameter_By_ParamAttribute_Shortcut() {
     ArgParserProxy proxy = new ArgParserProxy(typeof(Class1));
     MethodInfo method = typeof(Class1).GetMethod("Foo");
     Assert.IsNotNull(method);
     ParameterInfo parameter = proxy.MapParameterPublic("ii", method);
     Assert.IsNotNull(parameter);
     Assert.AreEqual("f", parameter.Name);
 }
Example #3
0
 private void ReadParameterToken_Supports(IEnumerable<string> args, Type classType, string methodName, string expectedParameterName, object expectedValue, int valuesRead) {
     MethodInfo method = classType.GetMethod(methodName);
     ParameterInfo expectedParameter = method.GetParameters().Single(p => p.Name == expectedParameterName);
     Assert.IsNotNull(method);
     Queue<string> queue = new Queue<string>(args);
     int initQueueSize = queue.Count;
     ArgParserProxy proxy = new ArgParserProxy(method.DeclaringType);
     ParserContext context = new ParserContext { ActionMethod = method };
     object result = proxy.ReadParameterTokenPublic(queue, context);
     Assert.IsNotNull(result);
     Assert.IsInstanceOf<ParameterValueToken>(result);
     ParameterValueToken token = (ParameterValueToken) result;
     Assert.AreEqual(expectedParameter, token.Parameter);
     Assert.AreEqual(expectedValue, token.Value);
     Assert.AreEqual(initQueueSize - valuesRead, queue.Count);
 }
Example #4
0
 public void MapParameter_Throws_InvalidOperationException_On_Parameters_With_Duplicit_Names() {
     ArgParserProxy proxy = new ArgParserProxy(typeof(Class1));
     MethodInfo method = typeof(Class1).GetMethod("DuplicateParams");
     Assert.IsNotNull(method);
     proxy.MapParameterPublic("x", method);
 }
Example #5
0
 public void MapParameter_Throws_ArgumentException_When_Parameter_Is_Not_Found() {
     ArgParserProxy proxy = new ArgParserProxy(typeof(Class1));
     MethodInfo method = typeof (Class1).GetMethod("Foo");
     Assert.IsNotNull(method);
     proxy.MapParameterPublic("ff", method);
 }
Example #6
0
 public void MapParameter_Is_Case_Sensitive() {
     ArgParserProxy proxy = new ArgParserProxy(typeof(Class1));
     MethodInfo method = typeof(Class1).GetMethod("Foo");
     Assert.IsNotNull(method);
     proxy.MapParameterPublic("Ii", method);
 }
Example #7
0
 public void ReadActionMethodToken_Finds_ActionMethod_By_AttributeName() {
     ArgParserProxy proxy = new ArgParserProxy(typeof(Class1));
     ParserContext context = new ParserContext();
     Queue<string> queue = new Queue<string>(new[] { "Bar2" });
     object result = proxy.ReadActionMethodTokenPublic(queue, context);
     Assert.IsNotNull(result);
     Assert.IsInstanceOf<ActionMethodToken>(result);
     ActionMethodToken token = (ActionMethodToken) result;
     Assert.AreEqual(typeof(Class1).GetMethod("Bar1"), token.Method);
 }
Example #8
0
 public void ReadActionMethodToken_Throws_ArgumentException_When_Queue_Is_Empty() {
     ArgParserProxy proxy = new ArgParserProxy(typeof(Class1));
     ParserContext context = new ParserContext();
     Queue<string> queue = new Queue<string>();
     proxy.ReadActionMethodTokenPublic(queue, context);
 }