示例#1
0
        public static string BuildCommand(string typeCode, string apiCode, string uid, Parameters pm, Clock clock = null)
        {
            StringBuilder sb = new StringBuilder(64);

            sb.AppendLine(typePrefix + typeCode);
            sb.AppendLine(uidPrefix + uid);
            sb.AppendLine(opPrefix + apiCode);
            if (clock is null)
            {
                sb.AppendLine(clockPrefix + "0:0:0");
            }
            else
            {
                sb.AppendLine(clockPrefix + clock.ToString());
            }


            API.TypeToString toStr             = null;
            List <string>    pmTypesConverters = API.typeList[API.typeCodeList[typeCode]].paramsList[apiCode];

            for (int i = 0; i < pm.size; i++)
            {
                object o = pm.AllParams()[i];
                toStr = API.GetToStringConverter(pmTypesConverters[i]);
                sb.Append(paramPrefix + toStr(o) + "\n");
            }
            return(sb.ToString());
        }
示例#2
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));
        }
示例#3
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]);
        }