public void addContactTest()
 {
     AddContactMessage x = new AddContactMessage();
     AddContactMessage y = new AddContactMessage(x.getMessageString());
     Assert.AreEqual(x.sender, y.sender);
     Assert.AreEqual(x.receiver, y.receiver);
     Assert.AreEqual(x.ReturnMessage, y.ReturnMessage);
 }
    public string handleContactAdding(string message, SortedList<long, SocketAsyncEventArgs> clientList)
    {
        string returnString = "";
        SqlDataReader dr = null;
        try
        {
            messageSpecs.AddContactMessage contactMessage = new messageSpecs.AddContactMessage(message);

            if (contactMessage.sender == contactMessage.receiver)
            {
                contactMessage.ReturnMessage = "You cannot add yourself as a friend!";
                return contactMessage.getMessageString();
            }


            contactMessage.ReturnMessage = "Failed trying to add user";
            dr = mySql.getDataReader(string.Format("EXEC addContact '{0}','{1}'", contactMessage.sender, contactMessage.receiver));
            while (dr.Read())
            {
                if ((bool)dr["Completed"])
                {
                    contactMessage.ReturnMessage = "Friend request was sent";
                    if (clientList.ContainsKey(long.Parse(contactMessage.receiver)))
                    {
                        messageSpecs.FriendStatusMessage fStatus = new messageSpecs.FriendStatusMessage();
                        fStatus.receiver = contactMessage.receiver;
                        fStatus.sender = contactMessage.sender;
                        fStatus.UserStatus = messageSpecs.FriendStatusMessage.LoggedOnStatus.Friend;
                        sendFriendStatMessage(fStatus, clientList[long.Parse(contactMessage.receiver)]);
                    }
                }
                else
                {
                    contactMessage.ReturnMessage = "User already is a friend";
                }

            }
            returnString = contactMessage.getMessageString();
        }
        catch
        {

        }
        finally
        {
            if (dr != null)
                dr.Close();
        }

        return returnString;
    }
        public void AddContact()
        {
            SocketHandler.SocketServer mySockets = new SocketHandler.SocketServer(0, 1000);
            SocketHandler.SocketClient clientSocket = null;
            mySockets.Init();
            mySockets.Start(new System.Net.IPEndPoint(System.Net.IPAddress.Parse("127.0.0.1"), 20000));
            clientSocket = new SocketHandler.SocketClient("127.0.0.1", 20000, false, ((char)2).ToString(), ((char)3).ToString());

            messageSpecs.AddContactMessage x = new messageSpecs.AddContactMessage();
            x.sender = "10006";
            x.receiver = "2";
            clientSocket.Send(x.getMessageString());

            for (int i = 1; i <= 5; i++)
            {
                System.Threading.Thread.Sleep(1000);
                while (clientSocket.messageQueue.Count > 0)
                {
                    if (clientSocket.messageQueue.Dequeue().Substring(0, 5) == AddContactMessage.AddContactMessageType)
                        return;
                }
            }
            Assert.Fail("Never got login message back");
        }