public void AddUserToConversation() { IChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); Conversation savedConversation1 = chatSystem.AddConversation("Konfa 1", user1, user2); IUser user3 = chatSystem.AddNewUser("Pszczółka Maja"); chatSystem.AddUserToConversation("Pszczółka Maja", savedConversation1.ID); var collection1 = user3.Conversations; bool isThere = false; foreach (var c in collection1) { if (c == savedConversation1) { isThere = true; } } Assert.IsTrue(isThere); var collection2 = savedConversation1.Users; isThere = false; foreach (var u in collection2) { if (u == user3) { isThere = true; } } Assert.IsTrue(isThere); }
public void GetConversationTest() { IChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); Conversation savedConversation = chatSystem.AddConversation("Konfa 1", user1, user2); Conversation returnedConversation = chatSystem.GetConversation(savedConversation.ID); Assert.IsTrue(returnedConversation == savedConversation); }
public void AddNewUserTest() { IChatSystem chatSystem = new ServerChatSystem(); IUser savedUser = chatSystem.AddNewUser("Jaś Kowalski"); Assert.IsNotNull(savedUser); savedUser = chatSystem.AddNewUser("Jaś Kowalski"); Assert.IsNull(savedUser); }
public void serializeTest() { IServerChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); Conversation savedConversation = chatSystem.AddConversation("Konfa 1", user1, user2); IMessageContent msgContent1 = new TextContent("Heeejoooo"); IMessageContent msgContent2 = new TextContent("Heeej"); DateTime datetime = DateTime.Now; Message sentMessage1 = chatSystem.SendMessage(savedConversation.ID, "Jaś Kowalski", -1, msgContent1, datetime); Message sentMessage2 = chatSystem.SendMessage(savedConversation.ID, "Kasia Źdźbło", sentMessage1.ID, msgContent2, datetime); ClientChatSystem clientChatSystem = new ClientChatSystem(); IUser userClient1 = clientChatSystem.AddNewUser("Jaś Kowalski"); IUser userClient2 = clientChatSystem.AddNewUser("Kasia Źdźbło"); Conversation savedClientConversation = clientChatSystem.AddConversation(savedConversation.Serialize(new ConcreteSerializer()), new ConcreteDeserializer()); bool msg1Present = false; bool msg2Present = false; bool wrongMsgPresent = false; foreach (var message in savedClientConversation.Messages) { if (message.ID == sentMessage1.ID) { msg1Present = true; Assert.AreEqual(message.Author.Name, userClient1.Name); // There is no way serialization keeps references Assert.AreSame(message.Author, savedClientConversation.Users.ToArray()[0]); Assert.IsNull(message.Parent); Assert.AreEqual(message.Content.getData(), sentMessage1.Content.getData()); Assert.AreEqual(message.SentTime, sentMessage1.SentTime); } else if (message.ID == sentMessage2.ID) { msg2Present = true; Assert.AreEqual(message.Author.Name, userClient2.Name); Assert.IsNotNull(message.Parent.ID); //to be deleted when test passes Assert.AreEqual(message.TargetId, sentMessage1.ID); //to be deleted but this passes Assert.AreEqual(message.Parent.ID, sentMessage1.ID); //while this causes the test to fail Assert.AreEqual(message.Content.getData(), sentMessage2.Content.getData()); Assert.AreEqual(message.SentTime, sentMessage2.SentTime); } else { wrongMsgPresent = true; } } Assert.IsTrue(msg1Present); Assert.IsTrue(msg2Present); Assert.IsFalse(wrongMsgPresent); }
public void AddConversationTest() { IChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); IUser user3 = chatSystem.AddNewUser("Pszczółka Maja"); Conversation savedConversation1 = chatSystem.AddConversation("Konfa 1", user1, user2, user3); Assert.IsNotNull(savedConversation1); Conversation savedConversation2 = chatSystem.AddConversation("Konfa 1", user1, user2, user3); Assert.IsNotNull(savedConversation2); Assert.AreNotEqual(savedConversation1.ID, savedConversation2.ID); }
public void getUpdatesToUserTest() { IServerChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); IUser user3 = chatSystem.AddNewUser("Roch Kowal"); Conversation savedConversation = chatSystem.AddConversation("Konfa 1", user1, user2); Conversation savedConversation2 = chatSystem.AddConversation("Konfa 2", user1, user3); IMessageContent msgContent1 = new TextContent("Heeejoooo"); IMessageContent msgContent2 = new TextContent("Heeej"); DateTime datetime = DateTime.Now; Message sentMessage1 = chatSystem.SendMessage(savedConversation.ID, "Jaś Kowalski", -1, msgContent1, datetime); Message sentMessage2 = chatSystem.SendMessage(savedConversation2.ID, "Jaś Kowalski", -1, msgContent2, datetime); UserUpdates updates = chatSystem.getUpdatesToUser("Kasia Źdźbło", datetime - TimeSpan.FromSeconds(3)); bool containsConversation = false; bool containsWrongConversation = false; foreach (var conversation in updates) { if (conversation.ID == savedConversation.ID && conversation.Name == savedConversation.Name) { containsConversation = true; bool containsMessage = false; bool containsWrongMessage = false; foreach (var message in conversation.Messages) { if (message.ID == sentMessage1.ID) { containsMessage = true; Assert.IsTrue(message.Author.Name == sentMessage1.Author.Name); Assert.IsNull(message.Parent); Assert.IsTrue(message.Content.getData() == sentMessage1.Content.getData()); Assert.IsTrue(message.SentTime == sentMessage1.SentTime); } else { containsWrongMessage = true; } } Assert.IsTrue(containsMessage); Assert.IsFalse(containsWrongMessage); } else { containsWrongConversation = true; } } Assert.IsTrue(containsConversation); Assert.IsFalse(containsWrongConversation); }
public void LeaveConversation() { IChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); Conversation savedConversation1 = chatSystem.AddConversation("Konfa 1", user1, user2); chatSystem.LeaveConversation("Kasia Źdźbło", savedConversation1.ID); var users = savedConversation1.Users; foreach (var u in users) { Assert.IsFalse(u == user2); } var conversations = user2.Conversations; foreach (var c in conversations) { Assert.IsFalse(c == savedConversation1); } }
public void applyUpdatesTest() { // Creating 'server' chat system IServerChatSystem chatSystem = new ServerChatSystem(); // Creating two users IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); // Creating a conversation with those users Conversation savedConversation = chatSystem.AddConversation("Konfa 1", user1, user2); // Sending a message IMessageContent msgContent1 = new TextContent("Heeejoooo"); DateTime datetime = DateTime.Now; Message sentMessage1 = chatSystem.SendMessage(savedConversation.ID, "Jaś Kowalski", Guid.Empty, msgContent1, datetime); // Creating client chat system IClientChatSystem clientChatSystem = new ClientChatSystem(); clientChatSystem.AddNewUser("Kasia Źdźbło"); // Applying updates clientChatSystem.applyUpdates(chatSystem.getUpdatesToUser("Kasia Źdźbło", datetime - TimeSpan.FromSeconds(3))); // Checks bool conversationPresent = false; foreach (var conversation in clientChatSystem.GetUser("Kasia Źdźbło").Conversations) { if (conversation.ID == savedConversation.ID) { conversationPresent = true; bool messagePresent = false; foreach (var message in conversation.Messages) { if (message.ID == sentMessage1.ID && message.Content.getData() == sentMessage1.Content.getData()) { messagePresent = true; } } Assert.IsTrue(messagePresent); } } Assert.IsTrue(conversationPresent); }
public void sendMessageTest() { IChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); Conversation savedConversation = chatSystem.AddConversation("Konfa 1", user1, user2); IMessageContent msgContent1 = new TextContent("Heeejoooo"); DateTime datetime = DateTime.Now; Message sentMessage1 = chatSystem.SendMessage(savedConversation.ID, "Jaś Kowalski", Guid.Empty, msgContent1, datetime); Assert.IsNotNull(sentMessage1); Assert.IsNull(sentMessage1.Parent); Assert.IsTrue(sentMessage1.Author == user1); Assert.IsTrue(sentMessage1.Content == msgContent1); Assert.IsTrue(sentMessage1.SentTime == datetime); IMessageContent msgContent2 = new TextContent("Cześć"); Message sentMessage2 = chatSystem.SendMessage(savedConversation.ID, "Kasia Źdźbło", sentMessage1.ID, msgContent2, datetime); Assert.IsNotNull(sentMessage2); Assert.IsTrue(sentMessage2.Parent == sentMessage1); Assert.IsTrue(sentMessage2.Author == user2); Assert.IsTrue(sentMessage2.Content == msgContent2); Assert.IsTrue(sentMessage2.SentTime == datetime); }
public void getConversationsTest() { IChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); IUser user3 = chatSystem.AddNewUser("Claus Somersby"); IUser user4 = chatSystem.AddNewUser("Hania Kot"); Conversation savedConversation1 = chatSystem.AddConversation("Konfa 1", user1, user2); Conversation savedConversation2 = chatSystem.AddConversation("Konfa 2", user2, user3); bool hasConversation1 = false; bool hasConversation2 = false; bool hasWrongConversation = false; foreach (var conversation in user1.Conversations) { if (conversation == savedConversation1) { hasConversation1 = true; } else { hasWrongConversation = true; } } Assert.IsTrue(hasConversation1); Assert.IsFalse(hasWrongConversation); hasConversation1 = false; hasConversation2 = false; hasWrongConversation = false; foreach (var conversation in user2.Conversations) { if (conversation == savedConversation1) { hasConversation1 = true; } else if (conversation == savedConversation2) { hasConversation2 = true; } else { hasWrongConversation = true; } } Assert.IsTrue(hasConversation1); Assert.IsTrue(hasConversation2); Assert.IsFalse(hasWrongConversation); hasConversation1 = false; hasConversation2 = false; hasWrongConversation = false; foreach (var conversation in user3.Conversations) { if (conversation == savedConversation2) { hasConversation2 = true; } else { hasWrongConversation = true; } } Assert.IsTrue(hasConversation2); Assert.IsFalse(hasWrongConversation); hasConversation1 = false; hasConversation2 = false; hasWrongConversation = false; foreach (var conversation in user4.Conversations) { hasWrongConversation = true; } Assert.IsFalse(hasWrongConversation); }
public void getConversationsOfUserTest() { IServerChatSystem chatSystem = new ServerChatSystem(); IUser user1 = chatSystem.AddNewUser("Jaś Kowalski"); IUser user2 = chatSystem.AddNewUser("Kasia Źdźbło"); Conversation savedConversation1 = chatSystem.AddConversation("Konfa 1", user1, user2); IUser user3 = chatSystem.AddNewUser("Johannes von Neustadt"); Conversation savedConversation2 = chatSystem.AddConversation("Ziomki", user1, user3); bool hasConversation1 = false; bool hasConversation2 = false; bool hasWrongConversation = false; foreach (var conversation in chatSystem.getConversationsOfUser("Johannes von Neustadt")) { if (conversation == savedConversation2) { hasConversation2 = true; } else { hasWrongConversation = true; } } Assert.IsTrue(hasConversation2); Assert.IsFalse(hasWrongConversation); hasConversation1 = false; hasConversation2 = false; hasWrongConversation = false; foreach (var conversation in chatSystem.getConversationsOfUser("Jaś Kowalski")) { if (conversation == savedConversation1) { hasConversation1 = true; } else if (conversation == savedConversation2) { hasConversation2 = true; } else { hasWrongConversation = true; } } Assert.IsTrue(hasConversation1); Assert.IsTrue(hasConversation2); Assert.IsFalse(hasWrongConversation); hasConversation1 = false; hasConversation2 = false; hasWrongConversation = false; foreach (var conversation in chatSystem.getConversationsOfUser("Kasia Źdźbło")) { if (conversation == savedConversation1) { hasConversation1 = true; } else { hasWrongConversation = true; } } Assert.IsTrue(hasConversation1); Assert.IsFalse(hasWrongConversation); }