protected void SendAndReturnSimpleValue3(IServiceFunctionTest test)
        {
            var result = test.SendAndReturnSimpleValue3("China", 3, "HX");

            if (result != 10)
            {
                throw new AssertionException();
            }
        }
        protected void SendAndReturnSimpleValue(IServiceFunctionTest test)
        {
            var result = test.SendAndReturnSimpleValue(3);

            if (result != 6)
            {
                throw new AssertionException();
            }
        }
        protected void ReturnByBin(IServiceFunctionTest test)
        {
            var result = test.ReturnByBin();

#if DOASSERT
            if (result.Code != 1100 || result.Country != "China" || result.TestData.Number != 40 || result.TestData.Message != "Age")
            {
                throw new AssertionException();
            }
#endif
        }
示例#4
0
        void ShuttleDomain_TestAllFunctions(IServiceFunctionTest test)
        {
            string  s3, s2 = "s2";
            Version v3, v2 = new Version(1, 1, 1, 1), v1 = new Version(2, 2, 2, 2);
            int     i3, i2 = 2;

            var testData = new TestData {
                Message = "Jingyi", Number = 40
            };
            CommonData commonData = new CommonData {
                Code = 100, Country = "China", TestData = testData
            }, commonData2;

            ICommonService service3;
            ICommonService service4;
            ICommonService service;

            _shuttleDomain.TryGetService(out service3);
            _shuttleDomain.TryGetService(out service4);

            var result = test.TestAllFunctions("s1", ref s2, out s3,
                                               v1, ref v2, out v3,
                                               1, ref i2, out i3,
                                               commonData, out commonData2,
                                               service3, ref service4, out service);

#if DOASSERT
            var age2        = service4.Age;
            var name2       = service4.Name;
            var nameLength2 = service4.NameLength;
            var firstName2  = service4.FirstName;
            var lastName2   = service4.LastName;

            var age3        = service.Age;
            var name3       = service.Name;
            var nameLength3 = service.NameLength;
            var firstName3  = service.FirstName;
            var lastName3   = service.LastName;

            if (s2 != "[s1s2]" || s3 != "<s1>" || i2 != 3 || i3 != 101 ||
                v2.Major != 3 || v2.Minor != 3 ||
                v3.Major != 3 || v3.Minor != 3 || v3.Build != 3 || v3.Revision != 3 ||
                commonData2.Code != 200 || commonData2.Country != "[China]" ||
                commonData2.TestData.Message != "[Jingyi]" || commonData2.TestData.Number != 140 ||
                age2 != 41 || name2 != "s1Jingyi" || nameLength2 != 5 || firstName2 != "0" || lastName2 != "4" ||
                age3 != 81 || name3 != "[Jingyi]Jingyi" || nameLength3 != 5 || firstName3 != "0" || lastName3 != "4" ||
                result.EntityId != 1500 || result.EntityName != "Fake")
            {
                throw new AssertionException();
            }
#endif
        }
        protected void SendAndReturnByVal(IServiceFunctionTest test)
        {
            int    i3, i2 = 100;
            string s3, s2 = "Liu";

            DateTime d3, d2 = DateTime.Now, d1 = DateTime.MinValue;
            Version  v3, v2 = new Version(1, 1, 1, 1), v1 = new Version(2, 2, 2, 2);

            //Guid g3, g2 = Guid.Empty;
            //TimeSpan t3, t2 = 10.Seconds();
            //DateTime d3, d2 = DateTime.Now.AddMonths(1);

            test.SendAndReturnByVal(40, ref i2, out i3,
                                    "Jingyi", ref s2, out s3,
                                    //Guid.Empty, ref g2, out g3,
                                    //1.Seconds(), ref t2, out t3,
                                    d1, ref d2, out d3,
                                    v1, ref v2, out v3);

#if DOASSERT
            if (i2 != 140 || i3 != 45 ||
                s2 != "Liu|40" || s3 != "40|Jingyi"
                //|| t2.Seconds != 11 || t3.Seconds != 5
                //|| d2.Seconds != 11 || d3.Seconds != 5
                || v2.Major != 3 || v2.Minor != 3 ||
                v3.Major != 7 || v3.Minor != 7 || v3.Build != 7 || v3.Revision != 7)
            {
                throw new AssertionException();
            }
#endif
            #region ·þÎñ¶ËʵÏÖ
            //i2 = i1 + i2;
            //i3 = i1 + 5;

            //s2 = s2 + "|" + i1.ToString();
            //s3 = i1.ToString() + "|" + s1;

            //d2 = d1;
            //d3 = d1.AddYears(1);

            //v2 = new Version(v1.Major + v2.Major, v1.Minor + v2.Minor);
            //v3 = new Version(v1.Major + 5, v1.Minor + 5, v1.Build + 5, v1.Revision + 5);
            #endregion
        }
示例#6
0
        public override bool Setup()
        {
            _remoteDomain = AppDomain.CreateDomain(Guid.NewGuid().ToString(), null, null);
            _remotingFunctionTest = CreateRemoteFunctionTestObject();

            _serviceEnd1 = (RemoteServiceEnd)_remoteDomain.CreateInstanceAndUnwrap
                (_serviceEnd1AsmName, ServiceEnd1Type);

            // 创建 ShuttleDomain
            _serviceEnd1.CreateShuttleDomain();

            var key = Guid.NewGuid().ToString();
            _shuttleDomain = ShuttleDomainHelper.Create(key, key);

            // 注册服务
            _serviceEnd1.RegisterServices();

            return true;
        }
        protected void SendAndReturnByBin(IServiceFunctionTest test)
        {
            TestData output;
            var      testData = new TestData {
                Message = "Age", Number = 40
            };

            var result = test.SendAndReturnByBin("China", 8,
                                                 new CommonData {
                Country = "HX", Code = 86, TestData = testData
            }, out output);

#if DOASSERT
            if (output.Message != "[ChinaAge]" || output.Number != 48 ||
                result.EntityId != 94 || result.EntityName != "<HX>")
            {
                throw new AssertionException();
            }
#endif
        }
 protected void CallSimpleMethod(IServiceFunctionTest test)
 {
     test.CallSimpleMethod();
 }
示例#9
0
        void ShuttleDomain_SendAndReturnByRef(IServiceFunctionTest test)
        {
            ICommonService service1;
            ICommonService service2;

            _shuttleDomain.TryGetService(out service1);
            _shuttleDomain.TryGetService(out service2);
            ICommonService service;

            test.SendAndReturnByRef("Liu", 100, service1, ref service2, out service);

#if DOASSERT
            var age2        = service2.Age;
            var name2       = service2.Name;
            var nameLength2 = service2.NameLength;
            var firstName2  = service2.FirstName;
            var lastName2   = service2.LastName;

            var age3        = service.Age;
            var name3       = service.Name;
            var nameLength3 = service.NameLength;
            var firstName3  = service.FirstName;
            var lastName3   = service.LastName;

            if (age2 != 140 || name2 != "LiuJingyi" || nameLength2 != 5 || firstName2 != "0" || lastName2 != "4" ||
                age3 != 180 || name3 != "<Jingyi>Jingyi" || nameLength3 != 5 || firstName3 != "0" || lastName3 != "4")
            {
                throw new AssertionException();
            }
#endif
            #region  务端实现
            //ICommonService DoCreateOutCommonService(string s1, int i1, ICommonService serice)
            //{
            //    var result = new CommonService(i1 + serice.Age, s1 + serice.Name);
            //    var length = serice.NameLength;

            //    // Names 除了原来的内容之外,再加上 0-4 的 5 个数组
            //    for (int i = 0; i < length; i++)
            //        result.AddName(serice.GetName(i));
            //    for (int i = length; i < length + 5; i++)
            //        result.AddName((i - length).ToString());

            //    return result;
            //}

            //ICommonService DoCreateRefCommonService(string s1, int i1, ICommonService serice)
            //{
            //    var result = new CommonService(i1 + serice.Age, s1 + serice.Name);
            //    var length = serice.NameLength;

            //    // Names 除了原来的内容之外,再加上 0-4 的 5 个数组
            //    for (int i = 0; i < length; i++)
            //        result.AddName(serice.GetName(i));
            //    for (int i = length; i < length + 5; i++)
            //        result.AddName((i - length).ToString());

            //    return result;
            //}

            //public void SendAndReturnByRef(string s1, int i1, ICommonService serice1, ref ICommonService serice2, out ICommonService serice3)
            //{
            //    serice2 = DoCreateRefCommonService(s1, i1, serice1);
            //    serice3 = DoCreateOutCommonService("<" + serice1.Name + ">", i1 + serice1.Age, serice1);
            //}
            #endregion
        }