Exemple #1
0
        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));
        }
Exemple #2
0
        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]);
        }
Exemple #3
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);
        }