/// <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(); } } }
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()); }