Пример #1
0
        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);
        }
Пример #2
0
 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);
 }
Пример #3
0
        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);
        }