protected void SendAndReturnByVal(ServiceFunctionTest1 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
        }
        protected void SendAndReturnSimpleValue3(ServiceFunctionTest1 test)
        {
            var result = test.SendAndReturnSimpleValue3("China", 3, "HX");

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

            if (result != 6)
            {
                throw new AssertionException();
            }
        }
        protected void ReturnByBin(ServiceFunctionTest1 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
        }
        protected void SendAndReturnByBin(ServiceFunctionTest1 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(ServiceFunctionTest1 test)
 {
     test.CallSimpleMethod();
 }