public void CancelBeforeGameTest() { AutoResetEvent ar1 = new AutoResetEvent(false); bool youLeft1 = false; Connect4Server.Connect4Service server = new Connect4Server.Connect4Service(5015, 30, Connect4Server.Connect4Service.WhoGoesFirst.first); Connect4ClientGame target1 = new Connect4ClientGame("Mr. test"); target1.Disconnected += (r) => { if (r == DisconnectReason.youLeft) { youLeft1 = true; ar1.Set(); } }; target1.StartConnection("localhost", 5015); Thread.Sleep(500); Thread.Sleep(1000); target1.CancelConnection(); ar1.WaitOne(); Assert.IsTrue(youLeft1); }
public void CancelConnectionTest() { AutoResetEvent ar = new AutoResetEvent(false); bool cancelled = false; Connect4ClientGame target = new Connect4ClientGame("Mr. test"); target.ConnectionEstablished += (success) => { if (!success) { cancelled = true; ar.Set(); } }; target.StartConnection("google.com", 4000); target.CancelConnection(); ar.WaitOne(10000); Assert.IsTrue(cancelled); }
public void ServerDiesAfterConnectBeforeReceiveTest() { AutoResetEvent ar1 = new AutoResetEvent(false); bool serverDied = false; Connect4Server.Connect4Service server = new Connect4Server.Connect4Service(5016, 30, Connect4Server.Connect4Service.WhoGoesFirst.first); Connect4ClientGame target1 = new Connect4ClientGame("Mr. test"); target1.ConnectionEstablished += (r) => { if (r) { server.Shutdown(); } }; target1.Disconnected += (r) => { if (r == DisconnectReason.serverDisconnected) { serverDied = true; ar1.Set(); } }; target1.StartConnection("localhost", 5016); Thread.Sleep(500); Thread.Sleep(1000); target1.CancelConnection(); ar1.WaitOne(); Assert.IsTrue(serverDied); }