public void TestAddNewConverter() { API.StringToType stt = delegate(string x) { return (object)x; }; API.TypeToString tts = delegate(object x) { return ((string)x); }; API.AddConverter("test", stt, tts); object o = API.GetToTypeConverter("test")("Hello World"); Assert.Equal("Hello World", API.GetToStringConverter("test")(o)); }
public void TestAddNewAPIWithParam() { API.StringToType stt = delegate(string x) { return (object)x; }; API.TypeToString tts = delegate(object x) { return ((string)x); }; API.AddConverter("test", stt, tts); API.AddNewAPI("GCounter", "GetValue", "g", "test"); CRDTypeInfo gctypeinfo = API.typeList[typeof(RAC.Operations.GCounter)]; MethodInfo method; List<string> plst; Assert.True(gctypeinfo.methodsList.TryGetValue("g", out method)); Assert.True(gctypeinfo.paramsList.TryGetValue("g", out plst)); Assert.Equal("test", plst[0]); }
private static Parameters ParamBuilder(string typeCode, string apiCode, List <string> input) { List <string> pmTypesConverters = API.typeList[API.typeCodeList[typeCode]].paramsList[apiCode]; Parameters pm = new Parameters(pmTypesConverters.Count); for (int i = 0; i < input.Count; i++) { object data; try { API.StringToType toType = API.GetToTypeConverter(pmTypesConverters[i]); data = toType(input[i]); pm.AddParam(i, data); } catch (Exception e) { ERROR("Param building failed with: " + apiCode + " of " + typeCode, e); } } return(pm); }