Example #1
0
        public void CreateGameTest()
        {
            Connect4Service target = new Connect4Service(6001, 30, Connect4Service.WhoGoesFirst.random);

            SocketTestHelper client1 = new SocketTestHelper("localhost", 6001);
            SocketTestHelper client2 = new SocketTestHelper("localhost", 6001);

            client1.Send("@name\n#Mr.Test\n");
            client2.Send("@name\n#Mrs.Test\n");

            string message1 = client1.Recieve(3, 2000);
            string message2 = client2.Recieve(3, 2000);

            Assert.IsTrue("@play\r\n#Mrs.Test\r\n#30\r\n" == message1 || "@play\n#Mrs.Test\n#30\n" == message1);
            Assert.IsTrue("@play\r\n#Mr.Test\r\n#30\r\n" == message2 || "@play\n#Mr.Test\n#30\n" == message2);
        }
Example #2
0
        public void DisconnectTest1()
        {
            Connect4Service target = new Connect4Service(6015, 30, Connect4Service.WhoGoesFirst.first);

            SocketTestHelper client1 = new SocketTestHelper("localhost", 6015);

            client1.Close();

            try
            {
                SocketTestHelper client2 = new SocketTestHelper("localhost", 6015);
            }
            catch (Exception e)
            {
                Assert.Fail("Unable to connect to the server:" + e.Message);
            }
        }
Example #3
0
        public void DisconnectTest2()
        {
            Connect4Service target = new Connect4Service(6016, 30, Connect4Service.WhoGoesFirst.first);

            SocketTestHelper client1 = new SocketTestHelper("localhost", 6016);
            SocketTestHelper client2 = new SocketTestHelper("localhost", 6016);

            //Give the server a bit of time to put the clients into a game
            System.Threading.Thread.Sleep(10);

            client1.Close();

            try
            {
                SocketTestHelper client3 = new SocketTestHelper("localhost", 6016);
            }
            catch (Exception e)
            {
                Assert.Fail("Unable to connect to the server:" + e.Message);
            }
        }
Example #4
0
        public void WinGameTest9()
        {
            Connect4Service target = new Connect4Service(6010, 30, Connect4Service.WhoGoesFirst.first);

            SocketTestHelper client1 = new SocketTestHelper("localhost", 6010);
            SocketTestHelper client2 = new SocketTestHelper("localhost", 6010);

            client1.Send("@name\n#Mr.Test\n");
            System.Threading.Thread.Sleep(20);
            client2.Send("@name\n#Mrs.Test\n");

            //Confirm the game has started
            client1.Recieve(4, 10000);

            client1.Send("@move\n#4\n");
            System.Threading.Thread.Sleep(20);
            client2.Send("@move\n#2\n");
            System.Threading.Thread.Sleep(20);
            client1.Send("@move\n#2\n");
            System.Threading.Thread.Sleep(20);
            client2.Send("@move\n#3\n");
            System.Threading.Thread.Sleep(20);
            client1.Send("@move\n#3\n");
            System.Threading.Thread.Sleep(20);
            client2.Send("@move\n#4\n");
            System.Threading.Thread.Sleep(20);
            client1.Send("@move\n#3\n");
            System.Threading.Thread.Sleep(20);
            client2.Send("@move\n#4\n");
            System.Threading.Thread.Sleep(20);
            client1.Send("@move\n#1\n");
            System.Threading.Thread.Sleep(20);
            client2.Send("@move\n#5\n");
            System.Threading.Thread.Sleep(20);

            //at least mostly clear out the current mass of tick commands
            //client1.ReceiveCurrent(2000);
            //client2.ReceiveCurrent(2000);

            client1.Send("@move\n#4\n");

            System.Threading.Thread.Sleep(20);
            //Receive the remainder
            string message1 = client1.ReceiveCurrent(2000);
            string message2 = client2.ReceiveCurrent(2000);

            Assert.IsTrue(message1.Contains("@win\n#black\n") || message1.Contains("@win\r\n#black\r\n"));
            Assert.IsTrue(message2.Contains("@win\n#black\n") || message2.Contains("@win\r\n#black\r\n"));
        }
Example #5
0
        public void SplitMessages()
        {
            Connect4Service target = new Connect4Service(6018, 30, Connect4Service.WhoGoesFirst.first);

            SocketTestHelper client1 = new SocketTestHelper("localhost", 6018);
            SocketTestHelper client2 = new SocketTestHelper("localhost", 6018);

            client1.Send("@na");
            System.Threading.Thread.Sleep(5);
            client1.Send("me\n");
            System.Threading.Thread.Sleep(5);
            client1.Send("#1");
            System.Threading.Thread.Sleep(5);
            client1.Send("\n");
            System.Threading.Thread.Sleep(5);

            client2.Send("@");
            System.Threading.Thread.Sleep(5);
            client2.Send("n");
            System.Threading.Thread.Sleep(5);
            client2.Send("a");
            System.Threading.Thread.Sleep(5);
            client2.Send("m");
            System.Threading.Thread.Sleep(5);
            client2.Send("e");
            System.Threading.Thread.Sleep(5);
            client2.Send("\r");
            System.Threading.Thread.Sleep(5);
            client2.Send("\n");
            System.Threading.Thread.Sleep(5);
            client2.Send("#");
            System.Threading.Thread.Sleep(5);
            client2.Send("2");
            System.Threading.Thread.Sleep(5);
            client2.Send("\r");
            System.Threading.Thread.Sleep(5);
            client2.Send("\n");
            System.Threading.Thread.Sleep(5);

            string message1 = client1.ReceiveCurrent(2000);
            string message2 = client2.ReceiveCurrent(2000);

            Assert.IsTrue(message1.Contains("@play"));
            Assert.IsTrue(message2.Contains("@play"));
        }
Example #6
0
        public void MultipleConnections()
        {
            Connect4Service target = new Connect4Service(6017, 30, Connect4Service.WhoGoesFirst.first);

            SocketTestHelper client1 = new SocketTestHelper("localhost", 6017);
            SocketTestHelper client2 = new SocketTestHelper("localhost", 6017);
            SocketTestHelper client3 = new SocketTestHelper("localhost", 6017);
            SocketTestHelper client4 = new SocketTestHelper("localhost", 6017);
            SocketTestHelper client5 = new SocketTestHelper("localhost", 6017);
            SocketTestHelper client6 = new SocketTestHelper("localhost", 6017);
            SocketTestHelper client7 = new SocketTestHelper("localhost", 6017);

            client1.Send("@name\n#1\n");
            System.Threading.Thread.Sleep(25);
            client2.Send("@name\n#2\n");
            System.Threading.Thread.Sleep(25);
            client3.Send("@name\n#3\n");
            System.Threading.Thread.Sleep(25);
            client4.Send("@name\n#4\n");
            System.Threading.Thread.Sleep(25);
            client5.Send("@name\n#5\n");
            System.Threading.Thread.Sleep(25);
            client6.Send("@name\n#6\n");
            System.Threading.Thread.Sleep(25);
            client7.Send("@name\n#7\n");
            System.Threading.Thread.Sleep(25);

            string message1 = client1.ReceiveCurrent(2000);
            string message2 = client2.ReceiveCurrent(2000);
            string message3 = client3.ReceiveCurrent(2000);
            string message4 = client4.ReceiveCurrent(2000);
            string message5 = client5.ReceiveCurrent(2000);
            string message6 = client6.ReceiveCurrent(2000);

            Assert.IsTrue(message1.Contains("@play") && message1.Contains("#2"));
            Assert.IsTrue(message2.Contains("@play") && message2.Contains("#1"));
            Assert.IsTrue(message3.Contains("@play") && message3.Contains("#4"));
            Assert.IsTrue(message4.Contains("@play") && message4.Contains("#3"));
            Assert.IsTrue(message5.Contains("@play") && message5.Contains("#6"));
            Assert.IsTrue(message6.Contains("@play") && message6.Contains("#5"));

            try
            {
                string message7 = client7.ReceiveCurrent(100);
                Assert.Fail("client7 should not have been paired into a game.");
            }
            catch (Exception)
            {
                //Exception expected - pass through
            }
        }
Example #7
0
        public void IgnoringMessages()
        {
            Connect4Service target = new Connect4Service(6019, 30, Connect4Service.WhoGoesFirst.first);

            SocketTestHelper client1 = new SocketTestHelper("localhost", 6019);

            client1.Send("#name\n@aric\n@name\n");
            System.Threading.Thread.Sleep(50);
            string test = client1.ReceiveCurrent(2000);

            Assert.IsTrue("@ignoring\n#aric\n" == test || "@ignoring\r\n#aric\r\n" == test);
        }