diff --git a/Eindproject/Tests/JSONConvertRandomWord.cs b/Eindproject/Tests/JSONConvertRandomWord.cs
new file mode 100644
index 0000000..1f5bc7e
--- /dev/null
+++ b/Eindproject/Tests/JSONConvertRandomWord.cs
@@ -0,0 +1,59 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Newtonsoft.Json;
+using SharedClientServer;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tests
+{
+ [TestClass]
+ public class JSONConvertRandomWord
+ {
+ public byte[] GetPayload(byte[] message)
+ {
+ byte[] payload = new byte[message.Length - 5];
+ Array.Copy(message, 5, payload, 0, message.Length - 5);
+ return payload;
+ }
+
+ public byte[] RandomWord()
+ {
+ byte identifier = 0x07;
+ dynamic payload = new
+ {
+ word = "teacher"
+ };
+
+ byte[] res = JSONConvert.GetMessageToSend(identifier, payload);
+
+ return res;
+ }
+
+ public dynamic GetDynamic(byte[] payload)
+ {
+ return JsonConvert.DeserializeObject(Encoding.UTF8.GetString(GetPayload(payload)));
+ }
+
+ [TestMethod]
+ public void TestSendRandomWord()
+ {
+ string randomWord = JSONConvert.SendRandomWord("WordsForGame.json");
+
+ string result = "teacher";
+
+ Assert.AreEqual(result, randomWord);
+ }
+
+ [TestMethod]
+ public void TestGetRandomWord()
+ {
+ byte[] data = GetPayload(RandomWord());
+ string result = JSONConvert.GetRandomWord(data);
+
+ string word = "teacher";
+
+ Assert.AreEqual(word, result);
+ }
+ }
+}
diff --git a/Eindproject/Tests/JSONConvertUserMessages.cs b/Eindproject/Tests/JSONConvertUserMessages.cs
new file mode 100644
index 0000000..008cab3
--- /dev/null
+++ b/Eindproject/Tests/JSONConvertUserMessages.cs
@@ -0,0 +1,89 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Newtonsoft.Json;
+using SharedClientServer;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tests
+{
+ [TestClass]
+ public class JSONConvertUserMessages
+ {
+
+ public byte[] GetPayload(byte[] message)
+ {
+ byte[] payload = new byte[message.Length - 5];
+ Array.Copy(message, 5, payload, 0, message.Length - 5);
+ return payload;
+ }
+
+ public dynamic GetDynamic(byte[] payload)
+ {
+ return JsonConvert.DeserializeObject(Encoding.UTF8.GetString(GetPayload(payload)));
+ }
+
+ private byte[] ComboArray()
+ {
+ byte identifier = 0x02;
+ dynamic payload = new
+ {
+ username = "testName",
+ message = "message"
+ };
+
+ byte[] result = JSONConvert.GetMessageToSend(identifier, payload);
+
+ return result;
+ }
+
+ private byte[] LoginArray()
+ {
+ byte identifier = 0x01;
+ dynamic payload = new
+ {
+ username = "testname"
+ };
+
+ byte[] result = JSONConvert.GetMessageToSend(identifier, payload);
+
+ return result;
+ }
+
+ [TestMethod]
+ public void TestGetUsernameAndMessage()
+ {
+ byte[] data = GetPayload(ComboArray());
+ (string,string) result = JSONConvert.GetUsernameAndMessage(data);
+
+ (string, string) testCombo = ("testName", "message");
+
+ Assert.AreEqual(testCombo, result);
+ }
+
+ [TestMethod]
+ public void TestGetUsernameLogin()
+ {
+ byte[] data = GetPayload(LoginArray());
+ string result = JSONConvert.GetUsernameLogin(data);
+ string username = "testname";
+
+ Assert.AreEqual(username, result);
+ }
+
+ [TestMethod]
+ public void TestConstructUsernameMessage()
+ {
+ byte[] res = JSONConvert.ConstructUsernameMessage("testname");
+ dynamic payload = GetDynamic(res);
+
+ string username = "testname";
+
+ Assert.AreEqual(0x01, res[4]);
+ Assert.AreEqual(username, (string)payload.username);
+ }
+
+
+
+ }
+}
diff --git a/Eindproject/Tests/Tests.csproj b/Eindproject/Tests/Tests.csproj
index b27b157..51eb716 100644
--- a/Eindproject/Tests/Tests.csproj
+++ b/Eindproject/Tests/Tests.csproj
@@ -6,6 +6,16 @@
false
+
+
+
+
+
+
+ Always
+
+
+
diff --git a/Eindproject/Tests/resources/WordsForGame.json b/Eindproject/Tests/resources/WordsForGame.json
new file mode 100644
index 0000000..71676ba
--- /dev/null
+++ b/Eindproject/Tests/resources/WordsForGame.json
@@ -0,0 +1,31 @@
+{
+ "filename": "wordsForGame",
+ "words": [
+ "teacher",
+ "love",
+ "engineer",
+ "supermarket",
+ "disaster",
+ "studio",
+ "restaurant",
+ "music",
+ "chocolate",
+ "dirt",
+ "thought",
+ "virus",
+ "lieutenant",
+ "painter",
+ "kiwi",
+ "power ranger",
+ "computer",
+ "people",
+ "candidate",
+ "security guard",
+ "Canada",
+ "teeth",
+ "army",
+ "airport",
+ "president",
+ "bedroom"
+ ]
+}
\ No newline at end of file
diff --git a/SharedClientServer/JSONConvert.cs b/SharedClientServer/JSONConvert.cs
index cd3d6e7..f652d84 100644
--- a/SharedClientServer/JSONConvert.cs
+++ b/SharedClientServer/JSONConvert.cs
@@ -300,7 +300,7 @@ namespace SharedClientServer
Debug.WriteLine($"[SERVERCLIENT] Sending random words {words}");
- return words.words[index];
+ return words.words[0];
}
/*