예제 #1
0
 /// <summary>
 /// 开始测试
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void start(object sender, EventArgs e)
 {
     if (parameter())
     {
         currentTimes = times;
         checkTimes   = 1;
         try
         {
             addMessage("create socket");
             clients = new testClient[socket];
             for (int index = 0; index != socket; clients[index++] = new testClient(this))
             {
                 ;
             }
             threadWait.Reset();
             waitThread = thread;
             addMessage("create thread");
             for (int index = 0; index != thread; ++index)
             {
                 Interlocked.Increment(ref checkTimes);
                 fastCSharp.threading.threadPool.TinyPool.Start(testThread);
             }
         }
         catch (Exception error)
         {
             isStop = 1;
             addMessage(error.ToString());
         }
         finally
         {
             checkFinally();
         }
     }
 }
예제 #2
0
        public void TestCallbacks()
        {
            var objectTest = new object[] {
                "Test",
                1,
                22f,
                55.7m,
                new int[] { 1, 2, 3, 4, 5 }
            };

            var TestClass1 = new Test1(55);

            var callbacks = new CallbackManager <testClient>();

            var Client1 = new testClient();
            var Client2 = new testClient();


            callbacks.SetArrayHandler((testClient client, object[] d) =>
            {
                Assert.AreEqual(client, Client1);
                CollectionAssert.AreEqual(d, objectTest);
            });

            callbacks.SetHandler <Test1>((testClient client, Test1 t) =>
            {
                Assert.AreEqual(client, Client2);
                Assert.AreEqual(TestClass1, t);
            });

            callbacks.Handle(Client1, new ObjectArrayPacket(objectTest));
            callbacks.Handle(Client2, TestClass1);

            callbacks.SetPacketHandler((testClient client, IPacket p) =>
            {
                Assert.AreEqual(client, Client1);
                Assert.IsInstanceOfType(p, typeof(Test2));
            });

            callbacks.Handle(Client1, new Test2());

            callbacks.SetPacketHandler((testClient client, IPacket p) =>
            {
                Assert.AreNotEqual(client, Client1);
                Assert.IsNotInstanceOfType(p, typeof(Test2));
            });

            callbacks.Handle(Client2, new Test3());
        }