diff --git a/.gitignore b/.gitignore
index e1e8c6d..3532347 100644
--- a/.gitignore
+++ b/.gitignore
@@ -74,3 +74,4 @@ crashlytics-build.properties
.DS_Store
/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
+CodeCoverage/
diff --git a/Assets/Accounts/Scripts/User.cs b/Assets/Accounts/Scripts/User.cs
index 7a57238..79d20b1 100644
--- a/Assets/Accounts/Scripts/User.cs
+++ b/Assets/Accounts/Scripts/User.cs
@@ -26,19 +26,16 @@ public class User
///
/// Get the username
///
- ///
public string GetUsername() { return storedUserData.username; }
///
/// Get the total playtime
///
- ///
public double GetPlaytime() { return storedUserData.playtime; }
///
/// Get the avatar
///
- ///
public Sprite GetAvatar() { return UserList.AVATARS[storedUserData.avatarIndex]; }
diff --git a/Assets/Accounts/Scripts/UserProgressScreen.cs b/Assets/Accounts/Scripts/UserProgressScreen.cs
index a89fcbb..d5fac81 100644
--- a/Assets/Accounts/Scripts/UserProgressScreen.cs
+++ b/Assets/Accounts/Scripts/UserProgressScreen.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
@@ -70,26 +69,6 @@ public class UserProgressScreen : MonoBehaviour
///
public RawImage progressGraph;
- ///
- /// Left and right padding of the graph
- ///
- private const int GRAPH_PADDING_X_PX = 50;
-
- ///
- /// Top and bottom padding of the graph
- ///
- private const int GRAPH_PADDING_Y_PX = 50;
-
- ///
- /// Radius of the point on the graph
- ///
- private const int GRAPH_POINT_RADIUS = 10;
-
- ///
- /// Size of the line on the graph
- ///
- private const int GRAPH_LINE_SIZE = 4;
-
///
/// Current selected activity draw to the graph
///
@@ -113,8 +92,7 @@ public class UserProgressScreen : MonoBehaviour
// Set correct displayed items
username.text = user.GetUsername();
avatar.sprite = user.GetAvatar();
- // TODO: implement total playtime
- //playtime.text = $"Totale speeltijd: {user.playtime.ToString("0.00")}";
+ playtime.text = $"Totale speeltijd: {user.GetPlaytime().ToString("0.00")}";
// Set graph inactive
progressGraph.gameObject.SetActive(false);
@@ -206,170 +184,6 @@ public class UserProgressScreen : MonoBehaviour
/// Plot the graph of a minigame
///
/// Index of the minigame
- private void DisplayMinigameGraph(MinigameIndex minigameIndex)
- {
- var progress = user.GetMinigameProgress(minigameIndex);
- List latestScores = progress.latestScores;
- List highestScores = progress.highestScores;
- if (0 < highestScores.Count)
- {
- PlotGraph(latestScores.ConvertAll((s) => (double)s.scoreValue), highestScores[0].scoreValue);
- }
- else
- {
- progressGraph.gameObject.SetActive(false);
- }
- }
-
- ///
- /// Plot points and a highscore on the graph
- ///
- /// List of score values to plot
- /// Highscore value (this will be plotted in a fancy color)
- private void PlotGraph(List scores, double highscore)
- {
- // Remove previous marker(s)
- foreach (Transform child in progressGraph.gameObject.transform)
- {
- Destroy(child.gameObject);
- }
-
- // Get texture reference
- Texture2D tex = progressGraph.texture as Texture2D;
- if (tex == null)
- {
- RectTransform rt = progressGraph.gameObject.transform as RectTransform;
- tex = new Texture2D(
- width: (int)rt.sizeDelta.x,
- height: (int)rt.sizeDelta.y,
- textureFormat: TextureFormat.ARGB32,
- mipCount: 3,
- linear: true
- );
- }
- tex.filterMode = FilterMode.Point;
-
- // calculate positions and offsets
- int x0 = GRAPH_PADDING_X_PX, x1 = tex.width - GRAPH_PADDING_X_PX;
- int y0 = GRAPH_PADDING_Y_PX, y1 = tex.height - GRAPH_PADDING_Y_PX;
- double min = scores.Min();
- double max = scores.Max();
-
- List> points = new List>();
- for (int i = 0; i < scores.Count; i++)
- {
- int x = x0 + (scores.Count > 1 ? i * ((x1 - x0) / (scores.Count - 1)) : (x1 - x0) / 2);
- int y = y0 + (int)((y1 - y0) * (min != max ? (scores[i] - min) / (max - min) : 0.5));
- points.Add(Tuple.Create(x, y));
- }
-
- // Calculate scaling
- int mag = (int)Math.Round(Math.Log10(max));
- int MAG = (int)Math.Pow(10, mag);
- double c = max / MAG;
-
- // Draw axes
- if (min != max)
- {
- for (double d = c / 5.0; d < c; d += 0.2 * c)
- {
- int y = y0 + (int)((y1 - y0) * (MAG * d - min) / (max - min));
- DrawLine(tex, x0, y, x1, y, 2, Color.gray);
- }
- }
- else
- {
- int y = y0 + (int)((y1 - y0) * 0.5);
- DrawLine(tex, x0, y0, x1, y0, 2, Color.gray);
- DrawLine(tex, x0, y, x1, y, 2, Color.gray);
- DrawLine(tex, x0, y1, x1, y1, 2, Color.gray);
- }
-
- // Draw highscore
- if (min <= highscore && highscore <= max)
- {
- int y = y0 + (int)((y1 - y0) * (min != max ? (highscore - min) / (max - min) : 0.5));
- DrawLine(tex, x0, y, x1, y, 3, new Color(255, 192, 0));
- GameObject marker = GameObject.Instantiate(highscoreMarker, progressGraph.gameObject.transform);
- RectTransform rect = marker.GetComponent();
- rect.localPosition = new Vector3(0, y - 25, 0);
- }
-
- // Draw points
- for (int i = 0; i < points.Count; i++)
- {
- Tuple p = points[i];
- if (0 < i)
- {
- Tuple q = points[i - 1];
- DrawLine(tex, p.Item1, p.Item2, q.Item1, q.Item2, GRAPH_LINE_SIZE, Color.blue);
- }
- DrawPoint(tex, p.Item1, p.Item2, GRAPH_POINT_RADIUS, Color.blue);
- }
-
- // Apply to graph GameObject
- tex.Apply();
- progressGraph.texture = tex;
- }
-
- ///
- /// Draw a point to a texture
- ///
- /// Texture2D to plot point on
- /// Center x-pos
- /// Center y-pos
- /// Radius (aka width and height)
- /// Color of the point
- private void DrawPoint(Texture2D tex, int xc, int yc, int r, Color color)
- {
- for (int y = yc - r; y < yc + r; y++)
- {
- for (int x = xc - r; x < xc + r; x++)
- {
- tex.SetPixel(x, y, color);
- }
- }
- }
-
- ///
- /// Draw a line to a texture
- ///
- /// Texture2D to plot line on
- /// Starting x-pos
- /// Strating y-pos
- /// Ending x-pos
- /// Ending y-pos
- /// Size of the line (width)
- /// Color of the line
- private void DrawLine(Texture2D tex, int x0, int y0, int x1, int y1, int size, Color color)
- {
- int w = x1 - x0;
- int h = y1 - y0;
-
- int length = Mathf.Abs(x1 - x0);
- if (Mathf.Abs(y1 - y0) > length)
- {
- length = Mathf.Abs(h);
- }
-
- double dx = w / (double)length;
- double dy = h / (double)length;
-
- double x = x0;
- double y = y0;
- double r = size / 2;
- for (int i = 0; i <= length; i++)
- {
- for (int j = (int)(y - r); j < y + r; j++)
- {
- for (int k = (int)(x - r); k < x + r; k++)
- {
- tex.SetPixel(k, j, color);
- }
- }
-
- x += dx;
- y += dy;
- }
- }
+ /// TODO: reworking
+ private void DisplayMinigameGraph(MinigameIndex minigameIndex) { }
}
diff --git a/Assets/Courses/PlayModeTests.meta b/Assets/Accounts/Tests/EditMode.meta
similarity index 77%
rename from Assets/Courses/PlayModeTests.meta
rename to Assets/Accounts/Tests/EditMode.meta
index 0dd3079..a9a48c1 100644
--- a/Assets/Courses/PlayModeTests.meta
+++ b/Assets/Accounts/Tests/EditMode.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: d322616d16e32135eb3735e3bb704d05
+guid: fa6a54c35531563408befe54af56be0f
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Accounts/Tests/AccountsTests.asmdef b/Assets/Accounts/Tests/EditMode/AccountEditMode.asmdef
similarity index 94%
rename from Assets/Accounts/Tests/AccountsTests.asmdef
rename to Assets/Accounts/Tests/EditMode/AccountEditMode.asmdef
index a492685..1df2de2 100644
--- a/Assets/Accounts/Tests/AccountsTests.asmdef
+++ b/Assets/Accounts/Tests/EditMode/AccountEditMode.asmdef
@@ -1,5 +1,5 @@
{
- "name": "AccountsTests",
+ "name": "AccountEditMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
diff --git a/Assets/Accounts/Tests/AccountsTests.asmdef.meta b/Assets/Accounts/Tests/EditMode/AccountEditMode.asmdef.meta
similarity index 100%
rename from Assets/Accounts/Tests/AccountsTests.asmdef.meta
rename to Assets/Accounts/Tests/EditMode/AccountEditMode.asmdef.meta
diff --git a/Assets/Accounts/Tests/EditMode/UserAvatarListTests.cs b/Assets/Accounts/Tests/EditMode/UserAvatarListTests.cs
new file mode 100644
index 0000000..5bb1b39
--- /dev/null
+++ b/Assets/Accounts/Tests/EditMode/UserAvatarListTests.cs
@@ -0,0 +1,27 @@
+using NUnit.Framework;
+using System.Collections.Generic;
+using UnityEditor;
+using UnityEngine;
+
+///
+/// Test the UserAvatarList class
+///
+[TestFixture]
+public class UserAvatarListTests
+{
+ ///
+ /// Test the UserAvatarList class correctly initializes the UserList class
+ ///
+ [Test]
+ public void Test_Awake()
+ {
+ UserList.AVATARS = new List();
+
+ var scriptableObject = AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset");
+ scriptableObject.Awake();
+
+ for (int i = 0; i < scriptableObject.avatars.Count; i++)
+ Assert.AreEqual(scriptableObject.avatars[i], UserList.AVATARS[i]);
+ }
+}
+
diff --git a/Assets/Hangman/Tests/BasicTests.cs.meta b/Assets/Accounts/Tests/EditMode/UserAvatarListTests.cs.meta
similarity index 83%
rename from Assets/Hangman/Tests/BasicTests.cs.meta
rename to Assets/Accounts/Tests/EditMode/UserAvatarListTests.cs.meta
index 1fc46b5..64f3dd3 100644
--- a/Assets/Hangman/Tests/BasicTests.cs.meta
+++ b/Assets/Accounts/Tests/EditMode/UserAvatarListTests.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: b3a4277e90159fa578bf998923333834
+guid: 6c26e155ab597954a8c65fafe61a8e22
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Accounts/Tests/UserCreationScreenTest.cs b/Assets/Accounts/Tests/EditMode/UserCreationScreenTests.cs
similarity index 96%
rename from Assets/Accounts/Tests/UserCreationScreenTest.cs
rename to Assets/Accounts/Tests/EditMode/UserCreationScreenTests.cs
index d2fc819..924684d 100644
--- a/Assets/Accounts/Tests/UserCreationScreenTest.cs
+++ b/Assets/Accounts/Tests/EditMode/UserCreationScreenTests.cs
@@ -4,7 +4,7 @@ using NUnit.Framework;
/// Test the UserCreationScreen class
///
[TestFixture]
-public class UserCreationScreenTest
+public class UserCreationScreenTests
{
///
/// Tets IsValidUsername will return true for an valid username
diff --git a/Assets/Accounts/Tests/UserCreationScreenTest.cs.meta b/Assets/Accounts/Tests/EditMode/UserCreationScreenTests.cs.meta
similarity index 100%
rename from Assets/Accounts/Tests/UserCreationScreenTest.cs.meta
rename to Assets/Accounts/Tests/EditMode/UserCreationScreenTests.cs.meta
diff --git a/Assets/Accounts/Tests/UserListTest.cs b/Assets/Accounts/Tests/EditMode/UserListTests.cs
similarity index 97%
rename from Assets/Accounts/Tests/UserListTest.cs
rename to Assets/Accounts/Tests/EditMode/UserListTests.cs
index faef19b..5e90ab0 100644
--- a/Assets/Accounts/Tests/UserListTest.cs
+++ b/Assets/Accounts/Tests/EditMode/UserListTests.cs
@@ -9,12 +9,12 @@ using UnityEngine;
/// Test the UserList class
///
[TestFixture]
-public class UserListTest
+public class UserListTests
{
///
/// Create a new path so the existing .json file will not be overwritten
///
- private static string PATH = $"{Application.persistentDataPath}/unit_test_users.json";
+ private static string PATH = $"{Application.persistentDataPath}/wesign_unit_test.json";
///
/// Helper variable for quick user creation
@@ -26,13 +26,15 @@ public class UserListTest
///
private Sprite avatar = null;
+ private string cachedPath;
+
///
/// Setup the tests
///
[SetUp]
public void Setup_UserList()
{
- PersistentDataController.PATH = UserListTest.PATH;
+ PersistentDataController.PATH = UserListTests.PATH;
if (File.Exists(PATH))
File.Delete(PATH);
@@ -42,6 +44,15 @@ public class UserListTest
avatar = UserList.AVATARS[0];
}
+ ///
+ /// Cleanup after testing
+ ///
+ [TearDown]
+ public void TearDown_UserList()
+ {
+ PersistentDataController.PATH = null;
+ }
+
///
/// Test for creation of a new UserList
///
@@ -271,7 +282,7 @@ public class UserListTest
/// Test whether deleting a non-existing user (referenced by wrong index) will fail
///
[Test]
- public void Test_UserList_DeleteUser_InValidIndex()
+ public void Test_UserList_DeleteUser_InvalidIndex()
{
User u = UserList.AddUser($"{username}_{'u'}", avatar);
User v = UserList.AddUser($"{username}_{'v'}", avatar);
diff --git a/Assets/Accounts/Tests/UserListTest.cs.meta b/Assets/Accounts/Tests/EditMode/UserListTests.cs.meta
similarity index 100%
rename from Assets/Accounts/Tests/UserListTest.cs.meta
rename to Assets/Accounts/Tests/EditMode/UserListTests.cs.meta
diff --git a/Assets/Accounts/Tests/UserTest.cs b/Assets/Accounts/Tests/EditMode/UserTests.cs
similarity index 90%
rename from Assets/Accounts/Tests/UserTest.cs
rename to Assets/Accounts/Tests/EditMode/UserTests.cs
index e95924d..d0daeec 100644
--- a/Assets/Accounts/Tests/UserTest.cs
+++ b/Assets/Accounts/Tests/EditMode/UserTests.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
/// Test the User class
///
[TestFixture]
-public class UserTest
+public class UserTests
{
///
/// Reference to the user to be tested
@@ -37,6 +37,33 @@ public class UserTest
Assert.Zero(user.GetMinigames().Count);
}
+ ///
+ /// Test whether the correct username is returned
+ ///
+ [Test]
+ public void Test_User_GetUsername()
+ {
+ Assert.AreEqual("username", user.GetUsername());
+ }
+
+ ///
+ /// Test whether the correct avatar is returned
+ ///
+ [Test]
+ public void Test_User_GetAvatar()
+ {
+ Assert.AreEqual(UserList.AVATARS[0], user.GetAvatar());
+ }
+
+ ///
+ /// Test whether the correct total playtime is returned
+ ///
+ [Test]
+ public void Test_User_GetPlaytime()
+ {
+ Assert.AreEqual(0.0, user.GetPlaytime());
+ }
+
///
/// Test whether progress on a new course can be added
///
diff --git a/Assets/Accounts/Tests/UserTest.cs.meta b/Assets/Accounts/Tests/EditMode/UserTests.cs.meta
similarity index 100%
rename from Assets/Accounts/Tests/UserTest.cs.meta
rename to Assets/Accounts/Tests/EditMode/UserTests.cs.meta
diff --git a/Assets/Accounts/Tests/PlayMode.meta b/Assets/Accounts/Tests/PlayMode.meta
new file mode 100644
index 0000000..1b91e1b
--- /dev/null
+++ b/Assets/Accounts/Tests/PlayMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 03b891ac179161f4b99b84a2205edffa
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Accounts/Tests/PlayMode/AccountPlayMode.asmdef b/Assets/Accounts/Tests/PlayMode/AccountPlayMode.asmdef
new file mode 100644
index 0000000..00dd80a
--- /dev/null
+++ b/Assets/Accounts/Tests/PlayMode/AccountPlayMode.asmdef
@@ -0,0 +1,26 @@
+{
+ "name": "AccountPlayMode",
+ "rootNamespace": "",
+ "references": [
+ "UnityEngine.TestRunner",
+ "UnityEditor.TestRunner",
+ "AccountsScripts",
+ "InterfacesScripts",
+ "Unity.TextMeshPro",
+ "CommonScripts",
+ "ArchitectureScripts"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": true,
+ "precompiledReferences": [
+ "nunit.framework.dll"
+ ],
+ "autoReferenced": false,
+ "defineConstraints": [
+ "UNITY_INCLUDE_TESTS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/Courses/PlayModeTests/PlayModeTests.asmdef.meta b/Assets/Accounts/Tests/PlayMode/AccountPlayMode.asmdef.meta
similarity index 76%
rename from Assets/Courses/PlayModeTests/PlayModeTests.asmdef.meta
rename to Assets/Accounts/Tests/PlayMode/AccountPlayMode.asmdef.meta
index aa1cea9..5596918 100644
--- a/Assets/Courses/PlayModeTests/PlayModeTests.asmdef.meta
+++ b/Assets/Accounts/Tests/PlayMode/AccountPlayMode.asmdef.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 1606ac91cab3333be8c7e7281c392595
+guid: 3692a9a813d54b0449b55e372a28697a
AssemblyDefinitionImporter:
externalObjects: {}
userData:
diff --git a/Assets/Accounts/Tests/PlayMode/ChangeUserScreenTests.cs b/Assets/Accounts/Tests/PlayMode/ChangeUserScreenTests.cs
new file mode 100644
index 0000000..f650f97
--- /dev/null
+++ b/Assets/Accounts/Tests/PlayMode/ChangeUserScreenTests.cs
@@ -0,0 +1,378 @@
+using NUnit.Framework;
+using System.Collections;
+using System.IO;
+using System.Linq;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.TestTools;
+using UnityEngine.UI;
+
+///
+/// Test the ChangeUserScreen class
+///
+[TestFixture]
+public class ChangeUserScreenTests
+{
+ ///
+ /// Wait time between scene transitions
+ ///
+ private const float WAIT_TIME = 0.2f;
+
+ ///
+ /// The default current user when dealing with multiple users
+ ///
+ private const int currentUser = 2;
+
+ ///
+ /// Setup the tests for a single user
+ ///
+ private IEnumerator Setup_ChangeUserScreen_SingleUser(string startScreen = "Accounts/Scenes/ChangeUserScreen")
+ {
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
+ string oneUser = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
+
+ File.WriteAllText(path, oneUser);
+ PersistentDataController.PATH = path;
+ PersistentDataController.GetInstance().Load();
+ AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset").Awake();
+
+ SystemController.GetInstance().SwapScene(startScreen);
+ yield return new WaitForSeconds(WAIT_TIME);
+ }
+
+ ///
+ /// Setup the tests for a multiple users
+ ///
+ private IEnumerator Setup_ChangeUserScreen_MultipleUsers(string startScreen = "Accounts/Scenes/ChangeUserScreen")
+ {
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
+ string users = "";
+ for (int i = 0; i < 5; i++)
+ {
+ users += $"{{\"entries\":[],\"username\":\"Tester{i}\",\"avatarIndex\":{i},\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}";
+ if (i < 4) users += ",";
+ }
+ const int currentUser = 2;
+ string fiveUsers = $"{{\"version\":1027,\"users\":[{users}],\"currentUser\":{currentUser},\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+
+ File.WriteAllText(path, fiveUsers);
+ PersistentDataController.PATH = path;
+ PersistentDataController.GetInstance().Load();
+ AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset").Awake();
+
+ SystemController.GetInstance().SwapScene(startScreen);
+ yield return new WaitForSeconds(WAIT_TIME);
+ }
+
+ ///
+ /// Cleanup after testing
+ ///
+ [TearDown]
+ public void TearDown_ChangeUserScreen()
+ {
+ PersistentDataController.PATH = null;
+ }
+
+ ///
+ /// Test whether every item that needs to be assign in the editor, is assigned
+ ///
+ [UnityTest]
+ public IEnumerator Test_EditorAssignments()
+ {
+ yield return Setup_ChangeUserScreen_SingleUser();
+
+ var changeUserController = GameObject.FindObjectOfType();
+ Assert.IsNotNull(changeUserController);
+ Assert.IsNotNull(changeUserController.userPrefab);
+ Assert.IsNotNull(changeUserController.usersContainer);
+ Assert.IsNotNull(changeUserController.error);
+ }
+
+ ///
+ /// Test whether the screen is correctly initialized (one user)
+ ///
+ [UnityTest]
+ public IEnumerator Test_Start_SingleUser()
+ {
+ yield return Setup_ChangeUserScreen_SingleUser();
+
+ var changeUserController = GameObject.FindObjectOfType();
+ Assert.IsFalse(changeUserController.error.activeSelf);
+ }
+
+ ///
+ /// Test whether the users is correctly displayed (one user)
+ ///
+ [UnityTest]
+ public IEnumerator Test_DisplayUsers_SingleUser()
+ {
+ yield return Setup_ChangeUserScreen_SingleUser();
+
+ // The content of the usercard is tested in the `UserCardTests`-script
+ // Here, we only check the amount of users
+ Assert.AreEqual(1, UserList.GetUsers().Count);
+ var cards = GameObject.FindObjectsOfType().ToList();
+ Assert.AreEqual(1, cards.Count);
+ Assert.AreEqual(Color.blue, cards[0].gameObject.GetComponent().color);
+ }
+
+ ///
+ /// Test whether the users are correctly displayed (mulitple users)
+ ///
+ [UnityTest]
+ public IEnumerator Test_DisplayUsers_MultipleUsers()
+ {
+ yield return Setup_ChangeUserScreen_MultipleUsers();
+
+ // The content of the usercard is tested in the `UserCardTests`-script
+ // Here, we only check the amount of users and whether the correct one is selected
+ Assert.AreEqual(UserList.GetCurrentUser().GetUsername(), UserList.GetUserByIndex(currentUser).GetUsername());
+ var cards = GameObject.FindObjectsOfType().ToList();
+ Assert.AreEqual(UserList.GetUsers().Count, cards.Count);
+ for (int i = 0; i < cards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, cards[i].gameObject.GetComponent().color);
+ }
+ }
+
+ ///
+ /// Test whether selecting a new user before the current one updates the display correctly
+ ///
+ [UnityTest]
+ public IEnumerator Test_UpdateSelection_BeforeCurrentUser()
+ {
+ yield return Setup_ChangeUserScreen_MultipleUsers();
+
+ var cards = GameObject.FindObjectsOfType().ToList();
+
+ // Before update
+ for (int i = 0; i < cards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, cards[i].gameObject.GetComponent().color);
+ }
+
+ // Update
+ const int newUser = 1;
+ cards[newUser].selectUser.Invoke();
+
+ // After update
+ for (int i = 0; i < cards.Count; i++)
+ {
+ Color expected = i == newUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, cards[i].gameObject.GetComponent().color);
+ }
+ }
+
+ ///
+ /// Test whether selecting the current user for update the display will change nothing
+ ///
+ [UnityTest]
+ public IEnumerator Test_UpdateSelection_CurrentUser()
+ {
+ yield return Setup_ChangeUserScreen_MultipleUsers();
+
+ var cards = GameObject.FindObjectsOfType().ToList();
+
+ // Before update
+ for (int i = 0; i < cards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, cards[i].gameObject.GetComponent().color);
+ }
+
+ // Update
+ cards[currentUser].selectUser.Invoke();
+
+ // After update
+ for (int i = 0; i < cards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, cards[i].gameObject.GetComponent().color);
+ }
+ }
+
+ ///
+ /// Test whether selecting a new user after the current one updates the display correctly
+ ///
+ [UnityTest]
+ public IEnumerator Test_UpdateSelection_AfterCurrentUser()
+ {
+ yield return Setup_ChangeUserScreen_MultipleUsers();
+
+ var cards = GameObject.FindObjectsOfType().ToList();
+
+ // Before update
+ for (int i = 0; i < cards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, cards[i].gameObject.GetComponent().color);
+ }
+
+ // Update
+ const int newUser = 3;
+ cards[newUser].selectUser.Invoke();
+
+ // After update
+ for (int i = 0; i < cards.Count; i++)
+ {
+ Color expected = i == newUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, cards[i].gameObject.GetComponent().color);
+ }
+ }
+
+ ///
+ /// Test IChooseYou callback
+ ///
+ [UnityTest]
+ public IEnumerator Test_IChooseYou()
+ {
+ yield return Setup_ChangeUserScreen_SingleUser("Common/Scenes/MainMenuScreen");
+
+ SystemController.GetInstance().LoadNextScene("Accounts/Scenes/ChangeUserScreen");
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ var changeUserController = GameObject.FindObjectOfType();
+ changeUserController.IChooseYou();
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(SystemController.GetSceneIndex("Common/Scenes/MainMenuScreen"), SystemController.GetInstance().currentScene);
+ }
+
+ ///
+ /// Test the GotoUserCreation callback
+ ///
+ [UnityTest]
+ public IEnumerator Test_GotoUserCreation()
+ {
+ yield return Setup_ChangeUserScreen_SingleUser();
+
+ var changeUserController = GameObject.FindObjectOfType();
+ changeUserController.GotoUserCreation();
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ var userCreationController = GameObject.FindObjectOfType();
+ Assert.IsNotNull(userCreationController);
+ }
+
+ ///
+ /// Test the user cards DeleteUser callback
+ ///
+ [UnityTest]
+ public IEnumerator Test_UserCardDeleteUser_BeforeCurrentUser()
+ {
+ yield return Setup_ChangeUserScreen_MultipleUsers();
+
+ // Before update
+ var oldCards = GameObject.FindObjectsOfType().ToList();
+ for (int i = 0; i < oldCards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, oldCards[i].gameObject.GetComponent().color);
+ }
+
+ // Update
+ oldCards[1].DeleteUser();
+ var changeUserController = GameObject.FindObjectOfType();
+ Assert.IsFalse(changeUserController.error.activeSelf);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ // After update
+ var newCards = GameObject.FindObjectsOfType().ToList();
+ Assert.AreEqual(oldCards.Count - 1, newCards.Count);
+ for (int i = 0; i < newCards.Count; i++)
+ {
+ Color expected = i == (currentUser - 1) ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, newCards[i].gameObject.GetComponent().color);
+ }
+ }
+
+ ///
+ /// Test the user cards DeleteUser callback
+ ///
+ [UnityTest]
+ public IEnumerator Test_UserCardDeleteUser_CurrentUser()
+ {
+ yield return Setup_ChangeUserScreen_MultipleUsers();
+
+ // Before update
+ var oldCards = GameObject.FindObjectsOfType().ToList();
+ for (int i = 0; i < oldCards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, oldCards[i].gameObject.GetComponent().color);
+ }
+
+ // Update
+ oldCards[currentUser].DeleteUser();
+ var changeUserController = GameObject.FindObjectOfType();
+ Assert.IsFalse(changeUserController.error.activeSelf);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ // After update
+ var newCards = GameObject.FindObjectsOfType().ToList();
+ Assert.AreEqual(oldCards.Count - 1, newCards.Count);
+ for (int i = 0; i < newCards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, newCards[i].gameObject.GetComponent().color);
+ }
+ }
+
+ ///
+ /// Test the user cards DeleteUser callback
+ ///
+ [UnityTest]
+ public IEnumerator Test_UserCardDeleteUser_AfterCurrentUser()
+ {
+ yield return Setup_ChangeUserScreen_MultipleUsers();
+
+ // Before update
+ var oldCards = GameObject.FindObjectsOfType().ToList();
+ for (int i = 0; i < oldCards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, oldCards[i].gameObject.GetComponent().color);
+ }
+
+ // Update
+ oldCards[3].DeleteUser();
+ var changeUserController = GameObject.FindObjectOfType();
+ Assert.IsFalse(changeUserController.error.activeSelf);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ // After update
+ var newCards = GameObject.FindObjectsOfType().ToList();
+ Assert.AreEqual(oldCards.Count - 1, newCards.Count);
+ for (int i = 0; i < newCards.Count; i++)
+ {
+ Color expected = i == currentUser ? Color.blue : Color.gray;
+ Assert.AreEqual(expected, newCards[i].gameObject.GetComponent().color);
+ }
+ }
+
+ ///
+ /// Test the user cards DeleteUser callback
+ ///
+ [UnityTest]
+ public IEnumerator Test_UserCardDeleteUser_Invalid()
+ {
+ yield return Setup_ChangeUserScreen_SingleUser();
+
+ // Before update
+ var oldCards = GameObject.FindObjectsOfType().ToList();
+ Assert.AreEqual(1, oldCards.Count);
+ Assert.AreEqual(Color.blue, oldCards[0].gameObject.GetComponent().color);
+
+ // Update
+ oldCards[0].DeleteUser();
+ var changeUserController = GameObject.FindObjectOfType();
+ Assert.IsTrue(changeUserController.error.activeSelf);
+
+ // After update
+ var newCards = GameObject.FindObjectsOfType().ToList();
+ Assert.AreEqual(1, newCards.Count);
+ Assert.AreEqual(Color.blue, newCards[0].gameObject.GetComponent().color);
+ }
+}
diff --git a/Assets/Courses/PlayModeTests/BasicTests.cs.meta b/Assets/Accounts/Tests/PlayMode/ChangeUserScreenTests.cs.meta
similarity index 83%
rename from Assets/Courses/PlayModeTests/BasicTests.cs.meta
rename to Assets/Accounts/Tests/PlayMode/ChangeUserScreenTests.cs.meta
index 71c5f8d..0838f50 100644
--- a/Assets/Courses/PlayModeTests/BasicTests.cs.meta
+++ b/Assets/Accounts/Tests/PlayMode/ChangeUserScreenTests.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 98c67df90515b0fec8184240768037cd
+guid: 82964bdf541a6d64bae05c104ef64494
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Accounts/Tests/PlayMode/CourseProgressCardTests.cs b/Assets/Accounts/Tests/PlayMode/CourseProgressCardTests.cs
new file mode 100644
index 0000000..48754ce
--- /dev/null
+++ b/Assets/Accounts/Tests/PlayMode/CourseProgressCardTests.cs
@@ -0,0 +1,77 @@
+using NUnit.Framework;
+using System.Collections;
+using System.IO;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.TestTools;
+
+///
+/// Test the CourseProgressCard class
+///
+[TestFixture]
+public class CourseProgressCardTests
+{
+ ///
+ /// Wait time between scene transitions
+ ///
+ private const float WAIT_TIME = 0.2f;
+
+ ///
+ /// Setup the CourseProgressCard tests
+ ///
+ [UnitySetUp]
+ public IEnumerator Setup_CourseProgressCard()
+ {
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
+ string course = "{\"entries\":[],\"courseIndex\":0,\"progress\":0.03846153989434242,\"completedLearnables\":1,\"inUseLearnables\":7,\"totalLearnables\":26,\"learnables\":[{\"entries\":[],\"index\":0,\"inUse\":true,\"name\":\"A\",\"progress\":3.0},{\"entries\":[],\"index\":1,\"inUse\":true,\"name\":\"B\",\"progress\":4.5},{\"entries\":[],\"index\":2,\"inUse\":true,\"name\":\"C\",\"progress\":1.5},{\"entries\":[],\"index\":3,\"inUse\":true,\"name\":\"D\",\"progress\":1.5},{\"entries\":[],\"index\":4,\"inUse\":true,\"name\":\"E\",\"progress\":1.5},{\"entries\":[],\"index\":5,\"inUse\":true,\"name\":\"F\",\"progress\":1.5},{\"entries\":[],\"index\":6,\"inUse\":true,\"name\":\"G\",\"progress\":0.0},{\"entries\":[],\"index\":7,\"inUse\":false,\"name\":\"H\",\"progress\":0.0},{\"entries\":[],\"index\":8,\"inUse\":false,\"name\":\"I\",\"progress\":0.0},{\"entries\":[],\"index\":9,\"inUse\":false,\"name\":\"J\",\"progress\":0.0},{\"entries\":[],\"index\":10,\"inUse\":false,\"name\":\"K\",\"progress\":0.0},{\"entries\":[],\"index\":11,\"inUse\":false,\"name\":\"L\",\"progress\":0.0},{\"entries\":[],\"index\":12,\"inUse\":false,\"name\":\"M\",\"progress\":0.0},{\"entries\":[],\"index\":13,\"inUse\":false,\"name\":\"N\",\"progress\":0.0},{\"entries\":[],\"index\":14,\"inUse\":false,\"name\":\"O\",\"progress\":0.0},{\"entries\":[],\"index\":15,\"inUse\":false,\"name\":\"P\",\"progress\":0.0},{\"entries\":[],\"index\":16,\"inUse\":false,\"name\":\"Q\",\"progress\":0.0},{\"entries\":[],\"index\":17,\"inUse\":false,\"name\":\"R\",\"progress\":0.0},{\"entries\":[],\"index\":18,\"inUse\":false,\"name\":\"S\",\"progress\":0.0},{\"entries\":[],\"index\":19,\"inUse\":false,\"name\":\"T\",\"progress\":0.0},{\"entries\":[],\"index\":20,\"inUse\":false,\"name\":\"U\",\"progress\":0.0},{\"entries\":[],\"index\":21,\"inUse\":false,\"name\":\"V\",\"progress\":0.0},{\"entries\":[],\"index\":22,\"inUse\":false,\"name\":\"W\",\"progress\":0.0},{\"entries\":[],\"index\":23,\"inUse\":false,\"name\":\"X\",\"progress\":0.0},{\"entries\":[],\"index\":24,\"inUse\":false,\"name\":\"Y\",\"progress\":0.0},{\"entries\":[],\"index\":25,\"inUse\":false,\"name\":\"Z\",\"progress\":0.0}]}";
+ string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[{course}]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+
+ File.WriteAllText(path, oneUser);
+ PersistentDataController.PATH = path;
+ PersistentDataController.GetInstance().Load();
+ AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset").Awake();
+
+ SystemController.GetInstance().SwapScene("Accounts/Scenes/UserProgressScreen");
+ yield return new WaitForSeconds(WAIT_TIME);
+ }
+
+ ///
+ /// Cleanup after testing
+ ///
+ [TearDown]
+ public void TearDown_ChangeUserScreen()
+ {
+ PersistentDataController.PATH = null;
+ }
+
+ ///
+ /// Test whether every item that needs to be assign in the editor, is assigned
+ ///
+ [Test]
+ public void Test_EditorAssignments()
+ {
+ var card = GameObject.FindObjectOfType();
+ Assert.IsNotNull(card);
+ Assert.IsNotNull(card.button);
+ Assert.IsNotNull(card.courseProgress);
+ Assert.IsNotNull(card.courseList);
+ Assert.IsNotNull(card.thumbnail);
+ Assert.IsNotNull(card.title);
+ Assert.IsNotNull(card.progressBar);
+ }
+
+ ///
+ /// Test whether the card is correctly initialized
+ ///
+ [Test]
+ public void Test_Start()
+ {
+ var card = GameObject.FindObjectOfType();
+ Course course = card.courseList.GetCourseByIndex(card.courseProgress.courseIndex);
+
+ Assert.AreEqual(course.thumbnail, card.thumbnail.sprite);
+ Assert.AreEqual(course.title, card.title.text);
+ Assert.AreEqual(card.courseProgress.progress, card.progressBar.value);
+ }
+}
+
diff --git a/Assets/JustSign/Tests/BasicTests.cs.meta b/Assets/Accounts/Tests/PlayMode/CourseProgressCardTests.cs.meta
similarity index 83%
rename from Assets/JustSign/Tests/BasicTests.cs.meta
rename to Assets/Accounts/Tests/PlayMode/CourseProgressCardTests.cs.meta
index 8f0f393..df29175 100644
--- a/Assets/JustSign/Tests/BasicTests.cs.meta
+++ b/Assets/Accounts/Tests/PlayMode/CourseProgressCardTests.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 5ce78cb7021f901bc8d26bf7534a92bf
+guid: 82e22c178ff48c146b6c87a7552e97ed
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Accounts/Tests/PlayMode/MinigameProgressCardTests.cs b/Assets/Accounts/Tests/PlayMode/MinigameProgressCardTests.cs
new file mode 100644
index 0000000..320255a
--- /dev/null
+++ b/Assets/Accounts/Tests/PlayMode/MinigameProgressCardTests.cs
@@ -0,0 +1,77 @@
+using NUnit.Framework;
+using System.Collections;
+using System.IO;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.TestTools;
+
+///
+/// Test the MinigameProgressCard class
+///
+[TestFixture]
+public class MinigameProgressCardTests
+{
+ ///
+ /// Wait time between scene transitions
+ ///
+ private const float WAIT_TIME = 0.2f;
+
+ ///
+ /// Setup the MinigameProgressCard tests
+ ///
+ [UnitySetUp]
+ public IEnumerator Setup_MinigameProgressCard()
+ {
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
+ string minigame = "{\"entries\":[],\"minigameIndex\":1,\"latestScores\":[{\"scoreValue\":70,\"time\":\"19/04/2023 22:32:39\"},{\"scoreValue\":55,\"time\":\"20/04/2023 11:50:10\"},{\"scoreValue\":55,\"time\":\"20/04/2023 13:27:15\"}],\"highestScores\":[{\"scoreValue\":70,\"time\":\"19/04/2023 22:32:39\"},{\"scoreValue\":55,\"time\":\"20/04/2023 11:50:10\"},{\"scoreValue\":55,\"time\":\"20/04/2023 13:27:15\"}]}";
+ string oneUser = $"{{\"version\":1027,\"users\":[{{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[{minigame}],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+
+ File.WriteAllText(path, oneUser);
+ PersistentDataController.PATH = path;
+ PersistentDataController.GetInstance().Load();
+ AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset").Awake();
+
+ SystemController.GetInstance().SwapScene("Accounts/Scenes/UserProgressScreen");
+ yield return new WaitForSeconds(WAIT_TIME);
+ }
+
+ ///
+ /// Cleanup after testing
+ ///
+ [TearDown]
+ public void TearDown_ChangeUserScreen()
+ {
+ PersistentDataController.PATH = null;
+ }
+
+ ///
+ /// Test whether every item that needs to be assign in the editor, is assigned
+ ///
+ [Test]
+ public void Test_EditorAssignments()
+ {
+ var card = GameObject.FindObjectOfType();
+ Assert.IsNotNull(card);
+ Assert.IsNotNull(card.button);
+ Assert.IsNotNull(card.minigameProgress);
+ Assert.IsNotNull(card.minigameList);
+ Assert.IsNotNull(card.thumbnail);
+ Assert.IsNotNull(card.title);
+ Assert.IsNotNull(card.highscore);
+ }
+
+ ///
+ /// Test whether the card is correctly initialized
+ ///
+ [Test]
+ public void Test_Start()
+ {
+ var card = GameObject.FindObjectOfType();
+ Minigame minigame = card.minigameList.GetMinigameByIndex(card.minigameProgress.minigameIndex);
+
+ Assert.AreEqual(minigame.thumbnail, card.thumbnail.sprite);
+ Assert.AreEqual(minigame.title, card.title.text);
+ Assert.AreEqual(card.highscore.text, $"Topscore: {card.minigameProgress.highestScores[0].scoreValue}");
+ }
+}
+
diff --git a/Assets/Courses/Tests/BasicTests.cs.meta b/Assets/Accounts/Tests/PlayMode/MinigameProgressCardTests.cs.meta
similarity index 83%
rename from Assets/Courses/Tests/BasicTests.cs.meta
rename to Assets/Accounts/Tests/PlayMode/MinigameProgressCardTests.cs.meta
index a459051..56c3f06 100644
--- a/Assets/Courses/Tests/BasicTests.cs.meta
+++ b/Assets/Accounts/Tests/PlayMode/MinigameProgressCardTests.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: ec3ef897a8a62eee2b7d8822edf923d0
+guid: 5c4901279eafb874a897edf876b30def
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Accounts/Tests/PlayMode/UserCardTests.cs b/Assets/Accounts/Tests/PlayMode/UserCardTests.cs
new file mode 100644
index 0000000..2e8a397
--- /dev/null
+++ b/Assets/Accounts/Tests/PlayMode/UserCardTests.cs
@@ -0,0 +1,71 @@
+using NUnit.Framework;
+using System.Collections;
+using System.IO;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.TestTools;
+
+///
+/// Test the UserCard class
+///
+[TestFixture]
+public class UserCardTests
+{
+ ///
+ /// Wait time between scene transitions
+ ///
+ private const float WAIT_TIME = 0.2f;
+
+ ///
+ /// Setup the tests
+ ///
+ [UnitySetUp]
+ public IEnumerator Setup_UserCard()
+ {
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
+ string oneUser = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
+
+ File.WriteAllText(path, oneUser);
+ PersistentDataController.PATH = path;
+ PersistentDataController.GetInstance().Load();
+ AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset").Awake();
+
+ SystemController.GetInstance().SwapScene("Accounts/Scenes/ChangeUserScreen");
+ yield return new WaitForSeconds(WAIT_TIME);
+ }
+
+ ///
+ /// Cleanup after testing
+ ///
+ [TearDown]
+ public void TearDown_ChangeUserScreen()
+ {
+ PersistentDataController.PATH = null;
+ }
+
+ ///
+ /// Test whether every item that needs to be assign in the editor, is assigned
+ ///
+ [Test]
+ public void Test_EditorAssignments()
+ {
+ var card = GameObject.FindObjectOfType();
+ Assert.IsNotNull(card);
+ Assert.IsNotNull(card.user);
+ Assert.IsNotNull(card.button);
+ Assert.IsNotNull(card.avatar);
+ Assert.IsNotNull(card.username);
+ }
+
+ ///
+ /// Test whether the card is correctly initialized
+ ///
+ [Test]
+ public void Test_Start()
+ {
+ var card = GameObject.FindObjectOfType();
+ Assert.AreEqual(card.user.GetAvatar(), card.avatar.sprite);
+ Assert.AreEqual(card.user.GetUsername(), card.username.text);
+ }
+}
+
diff --git a/Assets/Accounts/Tests/PlayMode/UserCardTests.cs.meta b/Assets/Accounts/Tests/PlayMode/UserCardTests.cs.meta
new file mode 100644
index 0000000..2cc308c
--- /dev/null
+++ b/Assets/Accounts/Tests/PlayMode/UserCardTests.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3a9cd2a546e38bc4ba1ba66f5f9c8f71
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Accounts/Tests/PlayMode/UserCreationScreenTests.cs b/Assets/Accounts/Tests/PlayMode/UserCreationScreenTests.cs
new file mode 100644
index 0000000..785c001
--- /dev/null
+++ b/Assets/Accounts/Tests/PlayMode/UserCreationScreenTests.cs
@@ -0,0 +1,172 @@
+using NUnit.Framework;
+using System.Collections;
+using System.IO;
+using System.Linq;
+using TMPro;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.TestTools;
+using UnityEngine.UI;
+
+///
+/// Test the UserCreationScreen class
+///
+[TestFixture]
+public class UserCreationScreenTests
+{
+ ///
+ /// Wait time between scene transitions
+ ///
+ private const float WAIT_TIME = 0.2f;
+
+ ///
+ /// Setup the UserCreationScreen tests
+ ///
+ private IEnumerator Setup_UserCreationScreen(string startScreen = "Accounts/Scenes/UserCreationScreen")
+ {
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
+ string oneUser = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
+
+ File.WriteAllText(path, oneUser);
+ PersistentDataController.PATH = path;
+ PersistentDataController.GetInstance().Load();
+ AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset").Awake();
+
+ SystemController.GetInstance().SwapScene(startScreen);
+ yield return new WaitForSeconds(WAIT_TIME);
+ }
+
+ ///
+ /// Cleanup after testing
+ ///
+ [TearDown]
+ public void TearDown_ChangeUserScreen()
+ {
+ PersistentDataController.PATH = null;
+ }
+ ///
+ /// Test whether every item that needs to be assign in the editor, is assigned
+ ///
+ [UnityTest]
+ public IEnumerator Test_EditorAssignments()
+ {
+ yield return Setup_UserCreationScreen();
+
+ var userCreationController = GameObject.FindObjectOfType();
+ Assert.IsNotNull(userCreationController);
+ Assert.IsNotNull(userCreationController.errorMessage);
+ Assert.IsNotNull(userCreationController.inputName);
+ Assert.IsNotNull(userCreationController.avatarsContainer);
+ Assert.IsNotNull(userCreationController.avatarPrefab);
+ Assert.IsNotNull(userCreationController.backButton);
+ Assert.IsTrue(UserCreationScreen.canGoBack);
+ }
+
+ ///
+ /// Test whether the screen is correctly initialized
+ ///
+ [UnityTest]
+ public IEnumerator Test_Start()
+ {
+ yield return Setup_UserCreationScreen();
+
+ var userCreationController = GameObject.FindObjectOfType();
+ Assert.IsFalse(userCreationController.errorMessage.activeSelf);
+ Assert.IsTrue(userCreationController.backButton.activeSelf);
+
+ var avatars = userCreationController.avatarsContainer.GetComponentsInChildren
/// MSB represent sprint version, LSB represent subversion
- public static readonly int VERSION = 0x04_03;
+ public const int VERSION = 0x04_03;
///
/// Path of the .json-file to store all serialized data
@@ -194,28 +194,19 @@ public class PersistentDataController
{
SavedLearnableProgress learnable = learnables.Find(l => l.name == learnableName);
if (learnable == null)
- {
- return;
- }
+ throw new KeyNotFoundException();
// Update the progress value of the SavedLearnableProgress
learnable.progress += addValue;
// crop the learnable progress around -5 and 5
if (learnable.progress > 5.0f)
- {
learnable.progress = 5.0f;
- }
else if (learnable.progress < -5.0f)
- {
learnable.progress = -5.0f;
- }
// if learnable progress is big enough it is "completed"
-
if (learnable.progress > 3)
- {
completedLearnables++;
- }
}
///
@@ -239,16 +230,15 @@ public class PersistentDataController
}
///
- /// find learnable in learnables which is not yet in use, and set it active
+ /// Find learnable in learnables which is not yet in use, and set it active
///
- /// bool which indicates the success of the function
- public SavedLearnableProgress AddNewLearnable()
+ /// SavedLearnableProgress learnable
+ private SavedLearnableProgress UseUnusedLearnable()
{
SavedLearnableProgress learnable = learnables.Find(l => !l.inUse);
if (learnable == null)
- {
return null;
- }
+
learnable.inUse = true;
inUseLearnables++;
return learnable;
@@ -261,23 +251,17 @@ public class PersistentDataController
public SavedLearnableProgress GetRandomLearnable()
{
if (!EnoughLearnables())
- {
- return AddNewLearnable();
- }
- else
- {
- // only select inUse learnables which are not yet completed (progress < 3.5f)
- List inUseLearnables = learnables.FindAll(l => l.inUse && l.progress <= 3.5f);
+ return UseUnusedLearnable();
- if (inUseLearnables.Count == 0)
- {
- return null;
- }
+ // only select inUse learnables which are not yet completed (progress < 3.5f)
+ List inUseLearnables = learnables.FindAll(l => l.inUse && l.progress <= 3.5f);
- // Select a random index from the in-use learnables list
- int randomIndex = UnityEngine.Random.Range(0, inUseLearnables.Count);
- return inUseLearnables[randomIndex];
- }
+ if (inUseLearnables.Count == 0)
+ return null;
+
+ // Select a random index from the in-use learnables list
+ int randomIndex = UnityEngine.Random.Range(0, inUseLearnables.Count);
+ return inUseLearnables[randomIndex];
}
///
@@ -356,7 +340,7 @@ public class PersistentDataController
public static PersistentDataController GetInstance()
{
// Create a new instance if non exists
- if (instance == null)
+ if (instance == null || PATH == null)
{
if (PATH == null)
PersistentDataController.PATH = $"{Application.persistentDataPath}/wesign_saved_data.json";
diff --git a/Assets/SystemArchitecture/Scripts/PersistentDataController.cs.meta b/Assets/Architecture/Scripts/PersistentDataController.cs.meta
similarity index 100%
rename from Assets/SystemArchitecture/Scripts/PersistentDataController.cs.meta
rename to Assets/Architecture/Scripts/PersistentDataController.cs.meta
diff --git a/Assets/SystemArchitecture/Scripts/Score.cs b/Assets/Architecture/Scripts/Score.cs
similarity index 100%
rename from Assets/SystemArchitecture/Scripts/Score.cs
rename to Assets/Architecture/Scripts/Score.cs
diff --git a/Assets/SystemArchitecture/Scripts/Score.cs.meta b/Assets/Architecture/Scripts/Score.cs.meta
similarity index 100%
rename from Assets/SystemArchitecture/Scripts/Score.cs.meta
rename to Assets/Architecture/Scripts/Score.cs.meta
diff --git a/Assets/SystemArchitecture/Scripts/SlicedSlider.cs b/Assets/Architecture/Scripts/SlicedSlider.cs
similarity index 100%
rename from Assets/SystemArchitecture/Scripts/SlicedSlider.cs
rename to Assets/Architecture/Scripts/SlicedSlider.cs
diff --git a/Assets/SystemArchitecture/Scripts/SlicedSlider.cs.meta b/Assets/Architecture/Scripts/SlicedSlider.cs.meta
similarity index 100%
rename from Assets/SystemArchitecture/Scripts/SlicedSlider.cs.meta
rename to Assets/Architecture/Scripts/SlicedSlider.cs.meta
diff --git a/Assets/SystemArchitecture/Scripts/SystemController.cs b/Assets/Architecture/Scripts/SystemController.cs
similarity index 96%
rename from Assets/SystemArchitecture/Scripts/SystemController.cs
rename to Assets/Architecture/Scripts/SystemController.cs
index 41f601f..376d43e 100644
--- a/Assets/SystemArchitecture/Scripts/SystemController.cs
+++ b/Assets/Architecture/Scripts/SystemController.cs
@@ -43,6 +43,11 @@ public class SystemController
return instance;
}
+ ///
+ /// Get the number of passively 'active' scenes
+ ///
+ public int GetSceneStackSize() { return sceneStack.Count; }
+
///
/// Load the scene and push on the stack
///
diff --git a/Assets/SystemArchitecture/Scripts/SystemController.cs.meta b/Assets/Architecture/Scripts/SystemController.cs.meta
similarity index 100%
rename from Assets/SystemArchitecture/Scripts/SystemController.cs.meta
rename to Assets/Architecture/Scripts/SystemController.cs.meta
diff --git a/Assets/SystemArchitecture/Scripts/ThemeIndex.cs b/Assets/Architecture/Scripts/ThemeIndex.cs
similarity index 100%
rename from Assets/SystemArchitecture/Scripts/ThemeIndex.cs
rename to Assets/Architecture/Scripts/ThemeIndex.cs
diff --git a/Assets/SystemArchitecture/Scripts/ThemeIndex.cs.meta b/Assets/Architecture/Scripts/ThemeIndex.cs.meta
similarity index 100%
rename from Assets/SystemArchitecture/Scripts/ThemeIndex.cs.meta
rename to Assets/Architecture/Scripts/ThemeIndex.cs.meta
diff --git a/Assets/SystemArchitecture/Tests.meta b/Assets/Architecture/Tests.meta
similarity index 100%
rename from Assets/SystemArchitecture/Tests.meta
rename to Assets/Architecture/Tests.meta
diff --git a/Assets/Architecture/Tests/EditMode.meta b/Assets/Architecture/Tests/EditMode.meta
new file mode 100644
index 0000000..b72d745
--- /dev/null
+++ b/Assets/Architecture/Tests/EditMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 05ae9a4f64d7f5049b18346b8277e525
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Architecture/Tests/EditMode/ArchitectureEditMode.asmdef b/Assets/Architecture/Tests/EditMode/ArchitectureEditMode.asmdef
new file mode 100644
index 0000000..abd1d00
--- /dev/null
+++ b/Assets/Architecture/Tests/EditMode/ArchitectureEditMode.asmdef
@@ -0,0 +1,24 @@
+{
+ "name": "ArchitectureEditMode",
+ "rootNamespace": "",
+ "references": [
+ "UnityEditor.TestRunner",
+ "UnityEngine.TestRunner",
+ "ArchitectureScripts"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": true,
+ "precompiledReferences": [
+ "nunit.framework.dll"
+ ],
+ "autoReferenced": false,
+ "defineConstraints": [
+ "UNITY_INCLUDE_TESTS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/SystemArchitecture/Tests/ArchitectureTests.asmdef.meta b/Assets/Architecture/Tests/EditMode/ArchitectureEditMode.asmdef.meta
similarity index 100%
rename from Assets/SystemArchitecture/Tests/ArchitectureTests.asmdef.meta
rename to Assets/Architecture/Tests/EditMode/ArchitectureEditMode.asmdef.meta
diff --git a/Assets/SystemArchitecture/Tests/PersistentDataControllerTest.cs b/Assets/Architecture/Tests/EditMode/PersistentDataControllerTests.cs
similarity index 76%
rename from Assets/SystemArchitecture/Tests/PersistentDataControllerTest.cs
rename to Assets/Architecture/Tests/EditMode/PersistentDataControllerTests.cs
index ceb885d..308e803 100644
--- a/Assets/SystemArchitecture/Tests/PersistentDataControllerTest.cs
+++ b/Assets/Architecture/Tests/EditMode/PersistentDataControllerTests.cs
@@ -1,12 +1,15 @@
using NUnit.Framework;
+using NUnit.Framework.Internal;
using System;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
-
+///
+/// Test the PersistentDataController class
+///
[TestFixture]
-public class PersistentDataTests
+public class PersistentDataControllerTests
{
///
/// Create a new path so the existing .json file will not be overwritten
@@ -41,16 +44,24 @@ public class PersistentDataTests
[SetUp]
public void Setup_PersistentDataController()
{
- PersistentDataController.PATH = PersistentDataTests.PATH;
- //PersistentDataController.PATH = null;
+ Assert.IsNull(PersistentDataController.PATH);
+ PersistentDataController.PATH = PersistentDataControllerTests.PATH;
pdc = PersistentDataController.GetInstance();
}
+ [TearDown]
+ public void TearDown_PersistentDataController()
+ {
+ PersistentDataController.PATH = null;
+ }
+
[Test]
public void Test_PersistentDataController_GetInstance()
{
- Assert.IsNotNull(pdc);
- //Assert.AreEqual($"{Application.persistentDataPath}/wesign_saved_data.json", PersistentDataController.PATH);
+ PersistentDataController.PATH = null;
+ Assert.IsNotNull(PersistentDataController.GetInstance());
+ Assert.AreEqual(0x04_03, PersistentDataController.VERSION);
+ Assert.AreEqual($"{Application.persistentDataPath}/wesign_saved_data.json", PersistentDataController.PATH);
}
[Test]
@@ -72,7 +83,7 @@ public class PersistentDataTests
FileAssert.Exists(PATH);
string content = File.ReadAllText(PATH);
- string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+ string expected = "{\"version\":1027,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
Assert.AreEqual(expected, content);
}
@@ -88,14 +99,14 @@ public class PersistentDataTests
FileAssert.Exists(PATH);
string content = File.ReadAllText(PATH);
- string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+ string expected = "{\"version\":1027,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
Assert.AreEqual(expected, content);
}
[Test]
public void Test_PersistentDataController_Load_Existing()
{
- string content = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+ string content = "{\"version\":1027,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
File.WriteAllText(PATH, content);
Assert.IsTrue(pdc.Load(false));
}
@@ -103,7 +114,7 @@ public class PersistentDataTests
[Test]
public void Test_PersistentDataController_Load_OlderVersion()
{
- string content = $"{{\"version\":{PersistentDataController.VERSION - 1},\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+ string content = "{\"version\":1026,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
File.WriteAllText(PATH, content);
Assert.IsFalse(pdc.Load(false));
}
@@ -111,7 +122,7 @@ public class PersistentDataTests
[Test]
public void Test_PersistentDataController_Load_NewerVersion()
{
- string content = $"{{\"version\":{PersistentDataController.VERSION + 1},\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+ string content = "{\"version\":1028,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
File.WriteAllText(PATH, content);
Assert.IsFalse(pdc.Load(false));
}
@@ -139,7 +150,7 @@ public class PersistentDataTests
File.WriteAllText(PATH, "https://www.youtube.com/watch?v=dQw4w9WgXcQ");
Assert.IsFalse(pdc.Load(true));
string content = File.ReadAllText(PATH);
- string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+ string expected = "{\"version\":1027,\"users\":[],\"currentUser\":-1,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
Assert.AreEqual(expected, content);
}
@@ -163,7 +174,7 @@ public class PersistentDataTests
pdc.AddUser(d);
string content = File.ReadAllText(PATH);
- string expected = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"username\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
+ string expected = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"username\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
Assert.AreEqual(expected, content);
}
@@ -614,156 +625,153 @@ public class PersistentDataTests
}
[Test]
- public void Test_AddLearnable_AddsLearnable()
+ public void Test_SavedCourseProgress_AddLearnable_Valid()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
+ Assert.Zero(progress.learnables.Count);
- bool added = progress.AddLearnable("test learnable", 0);
-
+ bool added = progress.AddLearnable("learnable", 0);
Assert.IsTrue(added);
- Assert.AreEqual(progress.learnables.Count, 1);
- Assert.AreEqual(progress.learnables[0].name, "test learnable");
- Assert.AreEqual(progress.learnables[0].index, 0);
+ Assert.AreEqual(1, progress.learnables.Count);
+ Assert.AreEqual("learnable", progress.learnables[0].name);
+ Assert.AreEqual(0, progress.FindLearnable("learnable").index);
}
[Test]
- public void Test_AddLearnable_FailsWithDuplicateName()
+ public void Test_SavedCourseProgress_AddLearnable_DuplicateName()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable", 0);
+ progress.AddLearnable("learnable", 0);
- bool added = progress.AddLearnable("test learnable", 1);
-
- Assert.IsFalse(added);
- Assert.AreEqual(progress.learnables.Count, 1);
+ Assert.AreEqual(1, progress.learnables.Count);
+ Assert.IsFalse(progress.AddLearnable("learnable", 1));
+ Assert.AreEqual(1, progress.learnables.Count);
}
[Test]
- public void Test_AddLearnable_FailsWithDuplicateIndex()
+ public void Test_SavedCourseProgress_AddLearnable_DuplicateIndex()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable", 0);
+ progress.AddLearnable("learnable", 0);
- bool added = progress.AddLearnable("test learnable 2", 0);
-
- Assert.IsFalse(added);
- Assert.AreEqual(progress.learnables.Count, 1);
+ Assert.AreEqual(1, progress.learnables.Count);
+ Assert.IsFalse(progress.AddLearnable("LEARNABLE", 0));
+ Assert.AreEqual(1, progress.learnables.Count);
}
[Test]
- public void Test_UpdateLearnable_UpdatesProgress()
+ public void Test_SavedCourseProgress_UpdateLearnable_InvalidName()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable", 0);
+ progress.AddLearnable("learnable", 0);
+ Assert.AreEqual(0.0f, progress.FindLearnable("learnable").progress);
+ Assert.Throws(delegate { progress.UpdateLearnable("LEARNABLE", 3.0f); });
+ Assert.AreEqual(0.0f, progress.FindLearnable("learnable").progress);
+ }
- progress.UpdateLearnable("test learnable", 3.0f);
- Assert.AreEqual(progress.learnables[0].progress, 3.0f);
+ [Test]
+ public void Test_SavedCourseProgress_UpdateLearnable_UpdatesProgress()
+ {
+ PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
+
+ progress.AddLearnable("learnable", 0);
+ Assert.AreEqual(0.0f, progress.FindLearnable("learnable").progress);
+ progress.UpdateLearnable("learnable", 3.0f);
+ Assert.AreEqual(3.0f, progress.FindLearnable("learnable").progress);
}
[Test]
- public void Test_UpdateLearnable_CropsProgressAtFive()
+ public void Test_SavedCourseProgress_UpdateLearnable_CropsProgressAtFive()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable", 0);
-
- progress.UpdateLearnable("test learnable", 10.0f);
-
- Assert.AreEqual(progress.learnables[0].progress, 5.0f);
- Assert.AreEqual(progress.completedLearnables, 1);
+ progress.AddLearnable("learnable", 0);
+ Assert.AreEqual(0, progress.completedLearnables);
+ progress.UpdateLearnable("learnable", 10.0f);
+ Assert.AreEqual(5.0f, progress.FindLearnable("learnable").progress);
+ Assert.AreEqual(1, progress.completedLearnables);
}
[Test]
- public void Test_UpdateLearnable_CropsProgressAtNegativeFive()
+ public void Test_SavedCourseProgress_UpdateLearnable_CropsProgressAtNegativeFive()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable", 0);
-
- progress.UpdateLearnable("test learnable", -10.0f);
-
- Assert.AreEqual(progress.learnables[0].progress, -5.0f);
+ progress.AddLearnable("learnable", 0);
+ Assert.AreEqual(0, progress.completedLearnables);
+ progress.UpdateLearnable("learnable", -10.0f);
+ Assert.AreEqual(-5.0f, progress.FindLearnable("learnable").progress);
+ Assert.AreEqual(0, progress.completedLearnables);
}
[Test]
- public void Test_FindLearnable_ReturnsNullWhenNotFound()
+ public void Test_SavedCourseProgress_FindLearnable()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable 1", 0);
- progress.AddLearnable("test learnable 2", 1);
+ progress.AddLearnable("learnable 1", 0);
- PersistentDataController.SavedLearnableProgress learnable = progress.FindLearnable("not found");
-
- Assert.IsNull(learnable);
+ Assert.IsNull(progress.FindLearnable("learnable 2"));
+ progress.AddLearnable("learnable 2", 1);
+ Assert.IsNotNull(progress.FindLearnable("learnable 2"));
}
[Test]
- public void Test_FindLearnable_ReturnsLearnableByName()
+ public void Test_SavedCourseProgress_GetRandomLearnable_NoLearnables()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable 1", 0);
- progress.AddLearnable("test learnable 2", 1);
-
- PersistentDataController.SavedLearnableProgress learnable = progress.FindLearnable("test learnable 2");
-
- Assert.AreEqual(learnable.index, 1);
+ Assert.IsNull(progress.GetRandomLearnable());
}
[Test]
- public void Test_AddNewLearnable_ReturnsFalseWhenNoUnusedLearnables()
+ public void Test_SavedCourseProgress_GetRandomLearnable_NoUnusedLearnables()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable 1", 0);
- progress.learnables[0].inUse = true;
+ progress.AddLearnable("learnable", 0);
+ progress.FindLearnable("learnable").inUse = true;
+ progress.completedLearnables = 1;
+ progress.inUseLearnables = 0;
- PersistentDataController.SavedLearnableProgress learnable = progress.AddNewLearnable();
-
- Assert.IsNull(learnable);
+ Assert.IsNull(progress.GetRandomLearnable());
}
[Test]
- public void Test_AddNewLearnable_ReturnsTrueWhenUnusedLearnableFound()
+ public void Test_SavedCourseProgress_GetRandomLearnable_OnlyCompletedLearnables()
{
PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable 1", 0);
- progress.AddLearnable("test learnable 2", 1);
-
- PersistentDataController.SavedLearnableProgress learnable = progress.AddNewLearnable();
-
- Assert.IsNotNull(learnable);
- Assert.AreEqual(progress.inUseLearnables, 1);
- }
-
- [Test]
- public void Test_GetRandomLearnable_ReturnsNullWhenNoLearnables()
- {
- PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
-
- PersistentDataController.SavedLearnableProgress learnable = progress.GetRandomLearnable();
-
- Assert.IsNull(learnable);
- }
-
- [Test]
- public void Test_GetRandomLearnable_ReturnsNullWhenOnlyCompletedLearnables()
- {
- PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
- progress.AddLearnable("test learnable 1", 0);
- progress.AddLearnable("test learnable 2", 1);
- progress.learnables[0].progress = 4.0f;
- progress.learnables[0].inUse = true;
- progress.learnables[1].progress = 4.0f;
- progress.learnables[1].inUse = true;
+ for (int i = 0; i < 2; i++)
+ {
+ progress.AddLearnable($"learnable {i}", i);
+ var learnable = progress.FindLearnable($"learnable {i}");
+ learnable.progress = 4.0f;
+ learnable.inUse = true;
+ }
progress.completedLearnables = 2;
progress.inUseLearnables = 0;
- PersistentDataController.SavedLearnableProgress learnable = progress.GetRandomLearnable();
+ Assert.IsNull(progress.GetRandomLearnable());
+ }
- Assert.IsNull(learnable);
+ [Test]
+ public void Test_SavedCourseProgress_GetRandomLearnable_Valid()
+ {
+ PersistentDataController.SavedCourseProgress progress = new PersistentDataController.SavedCourseProgress();
+ for (int i = 0; i < 10; i++)
+ {
+ progress.AddLearnable($"learnable {i}", i);
+ progress.FindLearnable($"learnable {i}").inUse = true;
+ }
+ progress.completedLearnables = 0;
+ progress.inUseLearnables = 10;
+
+ Assert.AreEqual(10, progress.inUseLearnables);
+ Assert.AreEqual(0, progress.completedLearnables);
+ Assert.IsNotNull(progress.GetRandomLearnable());
+ Assert.AreEqual(10, progress.inUseLearnables);
+ Assert.AreEqual(0, progress.completedLearnables);
}
}
diff --git a/Assets/SystemArchitecture/Tests/PersistentDataControllerTest.cs.meta b/Assets/Architecture/Tests/EditMode/PersistentDataControllerTests.cs.meta
similarity index 100%
rename from Assets/SystemArchitecture/Tests/PersistentDataControllerTest.cs.meta
rename to Assets/Architecture/Tests/EditMode/PersistentDataControllerTests.cs.meta
diff --git a/Assets/Architecture/Tests/EditMode/SystemControllerTests.cs b/Assets/Architecture/Tests/EditMode/SystemControllerTests.cs
new file mode 100644
index 0000000..a92e93b
--- /dev/null
+++ b/Assets/Architecture/Tests/EditMode/SystemControllerTests.cs
@@ -0,0 +1,48 @@
+using NUnit.Framework;
+using System.Collections.Generic;
+using UnityEngine.SceneManagement;
+
+///
+/// Test the SystemController class
+///
+[TestFixture]
+public class SystemControllerTests
+{
+ [Test]
+ public void Test_SystemController_GetInstance()
+ {
+ Assert.IsNotNull(SystemController.GetInstance());
+ }
+
+ [Test]
+ public void Test_GetSceneIndex_InvalidScene()
+ {
+ Assert.AreEqual(-1, SystemController.GetSceneIndex("a/non/existing/scene"));
+ }
+
+ [Test]
+ public void Test_GetSceneIndex_ValidScene()
+ {
+ List scenes = new List()
+ {
+ "Common/Scenes/Boot",
+ "Common/Scenes/MainMenuScreen",
+ "Common/Scenes/CoursesMenuScreen",
+ "Common/Scenes/ListCoursesScreen",
+ "Common/Scenes/ListMinigamesScreen",
+ "Common/Scenes/CourseActivityScreen",
+ "Common/Scenes/MinigameActivityScreen",
+ "Common/Scenes/ThemeSelectionScreen",
+ "Common/Scenes/SettingsScreen",
+ "Accounts/Scenes/UserCreationScreen",
+ "Accounts/Scenes/ChangeUserScreen",
+ "Accounts/Scenes/UserProgressScreen",
+ "Courses/Scenes/CourseScreen",
+ "SpellingBee/Scenes/SpellingBeeGame",
+ "Hangman/Scenes/HangmanGame",
+ "JustSign/Scenes/JustSignGame",
+ };
+ Assert.AreEqual(SceneManager.sceneCountInBuildSettings, scenes.Count);
+ // Testing wether the names and indices are correct needs to be done in PlayMode
+ }
+}
diff --git a/Assets/Architecture/Tests/EditMode/SystemControllerTests.cs.meta b/Assets/Architecture/Tests/EditMode/SystemControllerTests.cs.meta
new file mode 100644
index 0000000..8b22e04
--- /dev/null
+++ b/Assets/Architecture/Tests/EditMode/SystemControllerTests.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 17b5c320c11ddd6439fc5823fc1aaca6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Architecture/Tests/PlayMode.meta b/Assets/Architecture/Tests/PlayMode.meta
new file mode 100644
index 0000000..3c126f8
--- /dev/null
+++ b/Assets/Architecture/Tests/PlayMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 865ee232b6fa1184084ab1d58aaba61e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Architecture/Tests/PlayMode/ArchitecturePlayMode.asmdef b/Assets/Architecture/Tests/PlayMode/ArchitecturePlayMode.asmdef
new file mode 100644
index 0000000..53991f0
--- /dev/null
+++ b/Assets/Architecture/Tests/PlayMode/ArchitecturePlayMode.asmdef
@@ -0,0 +1,23 @@
+{
+ "name": "ArchitecturePlayMode",
+ "rootNamespace": "",
+ "references": [
+ "UnityEditor.TestRunner",
+ "UnityEngine.TestRunner",
+ "ArchitectureScripts",
+ "AccountsScripts"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": true,
+ "precompiledReferences": [
+ "nunit.framework.dll"
+ ],
+ "autoReferenced": false,
+ "defineConstraints": [
+ "UNITY_INCLUDE_TESTS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/Architecture/Tests/PlayMode/ArchitecturePlayMode.asmdef.meta b/Assets/Architecture/Tests/PlayMode/ArchitecturePlayMode.asmdef.meta
new file mode 100644
index 0000000..fd8692b
--- /dev/null
+++ b/Assets/Architecture/Tests/PlayMode/ArchitecturePlayMode.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f8ed003d51e12ca44a9b41f98a4f9f3d
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Architecture/Tests/PlayMode/SystemControllerTests.cs b/Assets/Architecture/Tests/PlayMode/SystemControllerTests.cs
new file mode 100644
index 0000000..fd2e5df
--- /dev/null
+++ b/Assets/Architecture/Tests/PlayMode/SystemControllerTests.cs
@@ -0,0 +1,304 @@
+using NUnit.Framework;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+using UnityEngine.TestTools;
+
+///
+/// Test the SystemController class
+///
+[TestFixture]
+public class SystemControllerTests
+{
+ ///
+ /// Wait time between scene transitions
+ ///
+ private const float WAIT_TIME = 0.2f;
+
+ ///
+ /// Reference to the SystemController instance
+ ///
+ private SystemController controller;
+
+ ///
+ /// Setting up the tests
+ ///
+ [UnitySetUp]
+ public IEnumerator Setup_SystemController()
+ {
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
+ string oneUser = "{\"version\":1027,\"users\":[{\"entries\":[],\"username\":\"Tester0\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}";
+
+ File.WriteAllText(path, oneUser);
+ PersistentDataController.PATH = path;
+ PersistentDataController.GetInstance().Load();
+ AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset").Awake();
+
+ controller = SystemController.GetInstance();
+ controller.LoadNextScene("Common/Scenes/MainMenuScreen");
+
+ yield return new WaitForSeconds(WAIT_TIME);
+ }
+
+ ///
+ /// Cleaning up the tests
+ ///
+ [TearDown]
+ public void TearDown_SystemController()
+ {
+ controller.BackToScene(SceneManager.sceneCountInBuildSettings);
+ }
+
+ ///
+ /// Test whether all scenes are correctly inserted to the build path
+ ///
+ [Test]
+ public void Test_GetSceneIndex_ValidScene()
+ {
+ List scenes = new List()
+ {
+ "Common/Scenes/Boot",
+ "Common/Scenes/MainMenuScreen",
+ "Common/Scenes/CoursesMenuScreen",
+ "Common/Scenes/ListCoursesScreen",
+ "Common/Scenes/ListMinigamesScreen",
+ "Common/Scenes/CourseActivityScreen",
+ "Common/Scenes/MinigameActivityScreen",
+ "Common/Scenes/ThemeSelectionScreen",
+ "Common/Scenes/SettingsScreen",
+ "Accounts/Scenes/UserCreationScreen",
+ "Accounts/Scenes/ChangeUserScreen",
+ "Accounts/Scenes/UserProgressScreen",
+ "Courses/Scenes/CourseScreen",
+ "SpellingBee/Scenes/SpellingBeeGame",
+ "Hangman/Scenes/HangmanGame",
+ "JustSign/Scenes/JustSignGame",
+ };
+ for (var i = 0; i < scenes.Count; i++)
+ Assert.AreEqual(i, SystemController.GetSceneIndex(scenes[i]));
+ }
+
+ ///
+ /// Test whether a next scene can be loaded
+ ///
+ [UnityTest]
+ public IEnumerator Test_LoadNextScene_String()
+ {
+ int stackSize = controller.GetSceneStackSize();
+ string previous = "Common/Scenes/MainMenuScreen";
+ string next = "Common/Scenes/CoursesMenuScreen";
+ Assert.AreEqual(SystemController.GetSceneIndex(previous), controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ controller.LoadNextScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(SystemController.GetSceneIndex(previous), controller.previousScene);
+ Assert.AreEqual(SystemController.GetSceneIndex(next), controller.currentScene);
+ Assert.AreEqual(stackSize + 1, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether a next scene can be loaded
+ ///
+ [UnityTest]
+ public IEnumerator Test_LoadNextScene_Int()
+ {
+ int stackSize = controller.GetSceneStackSize();
+ int previous = 1;
+ int next = 2;
+ Assert.AreEqual(previous, controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ controller.LoadNextScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(previous, controller.previousScene);
+ Assert.AreEqual(next, controller.currentScene);
+ Assert.AreEqual(stackSize + 1, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether a scene can be swapped with the current one
+ ///
+ [UnityTest]
+ public IEnumerator Test_SwapScene_String()
+ {
+ int stackSize = controller.GetSceneStackSize();
+ string previous = "Common/Scenes/MainMenuScreen";
+ string next = "Common/Scenes/CoursesMenuScreen";
+ Assert.AreEqual(SystemController.GetSceneIndex(previous), controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ controller.SwapScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(SystemController.GetSceneIndex(previous), controller.previousScene);
+ Assert.AreEqual(SystemController.GetSceneIndex(next), controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether a scene can be swapped with the current one
+ ///
+ [UnityTest]
+ public IEnumerator Test_SwapScene_Int()
+ {
+ int stackSize = controller.GetSceneStackSize();
+ int previous = 1;
+ int next = 2;
+ Assert.AreEqual(previous, controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ controller.SwapScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(previous, controller.previousScene);
+ Assert.AreEqual(next, controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether the previous scene can be loaded
+ ///
+ [UnityTest]
+ public IEnumerator Test_BackToPreviousScene_LoadScene()
+ {
+ int stackSize = controller.GetSceneStackSize();
+ string previous = "Common/Scenes/MainMenuScreen";
+ string current = "Common/Scenes/CoursesMenuScreen";
+ string next = "Common/Scenes/ListCoursesScreen";
+ controller.LoadNextScene(current);
+ yield return new WaitForSeconds(WAIT_TIME);
+ controller.LoadNextScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(SystemController.GetSceneIndex(current), controller.previousScene);
+ Assert.AreEqual(SystemController.GetSceneIndex(next), controller.currentScene);
+ Assert.AreEqual(stackSize + 2, controller.GetSceneStackSize());
+ controller.BackToPreviousScene();
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(stackSize + 1, controller.GetSceneStackSize());
+ controller.BackToPreviousScene();
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(SystemController.GetSceneIndex(current), controller.previousScene);
+ Assert.AreEqual(SystemController.GetSceneIndex(previous), controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether when requesting to go back on the ast scene, will close the application
+ ///
+ [UnityTest]
+ public IEnumerator Test_BackToPreviousScene_QuitApplication()
+ {
+ int stackSize = controller.GetSceneStackSize();
+
+ controller.BackToPreviousScene();
+ yield return new WaitForSeconds(WAIT_TIME);
+ Assert.AreEqual(stackSize - 1, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether a previous scene can be loaded
+ ///
+ [UnityTest]
+ public IEnumerator Test_BackToScene_String_LoadScene()
+ {
+ int stackSize = controller.GetSceneStackSize();
+ string previous = "Common/Scenes/MainMenuScreen";
+ string current = "Common/Scenes/CoursesMenuScreen";
+ string next = "Common/Scenes/ListCoursesScreen";
+ controller.LoadNextScene(current);
+ yield return new WaitForSeconds(WAIT_TIME);
+ controller.LoadNextScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(SystemController.GetSceneIndex(current), controller.previousScene);
+ Assert.AreEqual(SystemController.GetSceneIndex(next), controller.currentScene);
+ Assert.AreEqual(stackSize + 2, controller.GetSceneStackSize());
+ controller.BackToScene(previous);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(SystemController.GetSceneIndex(next), controller.previousScene);
+ Assert.AreEqual(SystemController.GetSceneIndex(previous), controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether when requesting to go back to scene that is no longer loaded, will close the application
+ ///
+ [UnityTest]
+ public IEnumerator Test_BackToScene_String_QuitApplication()
+ {
+ int stackSize = controller.GetSceneStackSize();
+
+ string previous = "Common/Scenes/MainMenuScreen";
+ string current = "Common/Scenes/CoursesMenuScreen";
+ string next = "Common/Scenes/ListCoursesScreen";
+ controller.SwapScene(current);
+ yield return new WaitForSeconds(WAIT_TIME);
+ controller.LoadNextScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(SystemController.GetSceneIndex(current), controller.previousScene);
+ Assert.AreEqual(SystemController.GetSceneIndex(next), controller.currentScene);
+ Assert.AreEqual(stackSize + 1, controller.GetSceneStackSize());
+ controller.BackToScene(previous);
+
+ yield return new WaitForSeconds(WAIT_TIME);
+ Assert.AreEqual(stackSize - 1, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether a previous scene can be loaded
+ ///
+ [UnityTest]
+ public IEnumerator Test_BackToScene_Int_LoadScene()
+ {
+ int stackSize = controller.GetSceneStackSize();
+ int previous = 1;
+ int current = 2;
+ int next = 3;
+ controller.LoadNextScene(current);
+ yield return new WaitForSeconds(WAIT_TIME);
+ controller.LoadNextScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(current, controller.previousScene);
+ Assert.AreEqual(next, controller.currentScene);
+ Assert.AreEqual(stackSize + 2, controller.GetSceneStackSize());
+ controller.BackToScene(previous);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(next, controller.previousScene);
+ Assert.AreEqual(previous, controller.currentScene);
+ Assert.AreEqual(stackSize, controller.GetSceneStackSize());
+ }
+
+ ///
+ /// Test whether when requesting to go back to scene that is no longer loaded, will close the application
+ ///
+ [UnityTest]
+ public IEnumerator Test_BackToScene_Int_QuitApplication()
+ {
+ int stackSize = controller.GetSceneStackSize();
+
+ int previous = 1;
+ int current = 2;
+ int next = 3;
+ controller.SwapScene(current);
+ yield return new WaitForSeconds(WAIT_TIME);
+ controller.LoadNextScene(next);
+ yield return new WaitForSeconds(WAIT_TIME);
+
+ Assert.AreEqual(current, controller.previousScene);
+ Assert.AreEqual(next, controller.currentScene);
+ Assert.AreEqual(stackSize + 1, controller.GetSceneStackSize());
+ controller.BackToScene(previous);
+
+ yield return new WaitForSeconds(WAIT_TIME);
+ Assert.AreEqual(stackSize - 1, controller.GetSceneStackSize());
+ }
+}
diff --git a/Assets/Architecture/Tests/PlayMode/SystemControllerTests.cs.meta b/Assets/Architecture/Tests/PlayMode/SystemControllerTests.cs.meta
new file mode 100644
index 0000000..d6d872f
--- /dev/null
+++ b/Assets/Architecture/Tests/PlayMode/SystemControllerTests.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8ede8e90b1ef6144ca9b5e54493894fd
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Common/Scripts/ThemeItem.cs b/Assets/Common/Scripts/ThemeItem.cs
index b448446..6d0874f 100644
--- a/Assets/Common/Scripts/ThemeItem.cs
+++ b/Assets/Common/Scripts/ThemeItem.cs
@@ -1,6 +1,5 @@
using TMPro;
using UnityEngine;
-using UnityEngine.Events;
using UnityEngine.UI;
///
diff --git a/Assets/Common/Tests/EditMode.meta b/Assets/Common/Tests/EditMode.meta
new file mode 100644
index 0000000..de5a71e
--- /dev/null
+++ b/Assets/Common/Tests/EditMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7efafb99e31fdd243b9470c45ec5da7d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Common/Tests/CommonTests.asmdef b/Assets/Common/Tests/EditMode/CommonEditMode.asmdef
similarity index 95%
rename from Assets/Common/Tests/CommonTests.asmdef
rename to Assets/Common/Tests/EditMode/CommonEditMode.asmdef
index a568a8e..048dfbe 100644
--- a/Assets/Common/Tests/CommonTests.asmdef
+++ b/Assets/Common/Tests/EditMode/CommonEditMode.asmdef
@@ -1,5 +1,5 @@
{
- "name": "CommonTests",
+ "name": "CommonEditMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
diff --git a/Assets/Common/Tests/CommonTests.asmdef.meta b/Assets/Common/Tests/EditMode/CommonEditMode.asmdef.meta
similarity index 100%
rename from Assets/Common/Tests/CommonTests.asmdef.meta
rename to Assets/Common/Tests/EditMode/CommonEditMode.asmdef.meta
diff --git a/Assets/Common/Tests/CourseListTest.cs b/Assets/Common/Tests/EditMode/CourseListTests.cs
similarity index 98%
rename from Assets/Common/Tests/CourseListTest.cs
rename to Assets/Common/Tests/EditMode/CourseListTests.cs
index db511b5..389b584 100644
--- a/Assets/Common/Tests/CourseListTest.cs
+++ b/Assets/Common/Tests/EditMode/CourseListTests.cs
@@ -5,7 +5,7 @@ using UnityEngine;
/// Test the CourseList class
///
[TestFixture]
-public class CourseListTest
+public class CourseListTests
{
private CourseList courseList;
diff --git a/Assets/Common/Tests/CourseListTest.cs.meta b/Assets/Common/Tests/EditMode/CourseListTests.cs.meta
similarity index 100%
rename from Assets/Common/Tests/CourseListTest.cs.meta
rename to Assets/Common/Tests/EditMode/CourseListTests.cs.meta
diff --git a/Assets/Common/Tests/MinigameListTest.cs b/Assets/Common/Tests/EditMode/MinigameListTests.cs
similarity index 98%
rename from Assets/Common/Tests/MinigameListTest.cs
rename to Assets/Common/Tests/EditMode/MinigameListTests.cs
index 8dfa673..b7f555a 100644
--- a/Assets/Common/Tests/MinigameListTest.cs
+++ b/Assets/Common/Tests/EditMode/MinigameListTests.cs
@@ -5,7 +5,7 @@ using UnityEngine;
/// Test the MinigameList class
///
[TestFixture]
-public class MinigameListTest
+public class MinigameListTests
{
private MinigameList minigameList;
diff --git a/Assets/Common/Tests/MinigameListTest.cs.meta b/Assets/Common/Tests/EditMode/MinigameListTests.cs.meta
similarity index 100%
rename from Assets/Common/Tests/MinigameListTest.cs.meta
rename to Assets/Common/Tests/EditMode/MinigameListTests.cs.meta
diff --git a/Assets/Common/Tests/ModelListTest.cs b/Assets/Common/Tests/EditMode/ModelListTests.cs
similarity index 99%
rename from Assets/Common/Tests/ModelListTest.cs
rename to Assets/Common/Tests/EditMode/ModelListTests.cs
index bc1f44d..cf7b425 100644
--- a/Assets/Common/Tests/ModelListTest.cs
+++ b/Assets/Common/Tests/EditMode/ModelListTests.cs
@@ -5,7 +5,7 @@ using UnityEngine;
/// Test the ModelList class
///
[TestFixture]
-public class ModelListTest
+public class ModelListTests
{
private ModelList modelList;
diff --git a/Assets/Common/Tests/ModelListTest.cs.meta b/Assets/Common/Tests/EditMode/ModelListTests.cs.meta
similarity index 100%
rename from Assets/Common/Tests/ModelListTest.cs.meta
rename to Assets/Common/Tests/EditMode/ModelListTests.cs.meta
diff --git a/Assets/Common/Tests/ThemeListTest.cs b/Assets/Common/Tests/EditMode/ThemeListTests.cs
similarity index 98%
rename from Assets/Common/Tests/ThemeListTest.cs
rename to Assets/Common/Tests/EditMode/ThemeListTests.cs
index 6a34fe1..1ad5a8b 100644
--- a/Assets/Common/Tests/ThemeListTest.cs
+++ b/Assets/Common/Tests/EditMode/ThemeListTests.cs
@@ -5,7 +5,7 @@ using UnityEngine;
/// Test the ThemeList class
///
[TestFixture]
-public class ThemeListTest
+public class ThemeListTests
{
private ThemeList themeList;
diff --git a/Assets/Common/Tests/ThemeListTest.cs.meta b/Assets/Common/Tests/EditMode/ThemeListTests.cs.meta
similarity index 100%
rename from Assets/Common/Tests/ThemeListTest.cs.meta
rename to Assets/Common/Tests/EditMode/ThemeListTests.cs.meta
diff --git a/Assets/Common/Tests/ThemeTest.cs b/Assets/Common/Tests/EditMode/ThemeTests.cs
similarity index 97%
rename from Assets/Common/Tests/ThemeTest.cs
rename to Assets/Common/Tests/EditMode/ThemeTests.cs
index a93d7e4..b9fc9bf 100644
--- a/Assets/Common/Tests/ThemeTest.cs
+++ b/Assets/Common/Tests/EditMode/ThemeTests.cs
@@ -6,7 +6,7 @@ using UnityEngine;
/// Test the Theme class
///
[TestFixture]
-public class ThemeTest
+public class ThemeTests
{
private Theme theme;
private List names = new List() { "appel", "peer", "banaan" };
diff --git a/Assets/Common/Tests/ThemeTest.cs.meta b/Assets/Common/Tests/EditMode/ThemeTests.cs.meta
similarity index 100%
rename from Assets/Common/Tests/ThemeTest.cs.meta
rename to Assets/Common/Tests/EditMode/ThemeTests.cs.meta
diff --git a/Assets/Common/PlayModeTests.meta b/Assets/Common/Tests/PlayMode.meta
similarity index 100%
rename from Assets/Common/PlayModeTests.meta
rename to Assets/Common/Tests/PlayMode.meta
diff --git a/Assets/Common/PlayModeTests/BackButtonTests.cs b/Assets/Common/Tests/PlayMode/BackButtonTests.cs
similarity index 94%
rename from Assets/Common/PlayModeTests/BackButtonTests.cs
rename to Assets/Common/Tests/PlayMode/BackButtonTests.cs
index 07bcefe..a802033 100644
--- a/Assets/Common/PlayModeTests/BackButtonTests.cs
+++ b/Assets/Common/Tests/PlayMode/BackButtonTests.cs
@@ -11,7 +11,7 @@ public class BackButtonTests
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/Common/PlayModeTests/BackButtonTests.cs.meta b/Assets/Common/Tests/PlayMode/BackButtonTests.cs.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/BackButtonTests.cs.meta
rename to Assets/Common/Tests/PlayMode/BackButtonTests.cs.meta
diff --git a/Assets/Common/PlayModeTests/CommonPlayModeTests.asmdef b/Assets/Common/Tests/PlayMode/CommonPlayMode.asmdef
similarity index 94%
rename from Assets/Common/PlayModeTests/CommonPlayModeTests.asmdef
rename to Assets/Common/Tests/PlayMode/CommonPlayMode.asmdef
index efc27fc..1f100b1 100644
--- a/Assets/Common/PlayModeTests/CommonPlayModeTests.asmdef
+++ b/Assets/Common/Tests/PlayMode/CommonPlayMode.asmdef
@@ -1,5 +1,5 @@
{
- "name": "CommonPlayModeTests",
+ "name": "CommonPlayMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
diff --git a/Assets/Common/PlayModeTests/CommonPlayModeTests.asmdef.meta b/Assets/Common/Tests/PlayMode/CommonPlayMode.asmdef.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/CommonPlayModeTests.asmdef.meta
rename to Assets/Common/Tests/PlayMode/CommonPlayMode.asmdef.meta
diff --git a/Assets/Common/PlayModeTests/CourseActivityTests.cs b/Assets/Common/Tests/PlayMode/CourseActivityTests.cs
similarity index 94%
rename from Assets/Common/PlayModeTests/CourseActivityTests.cs
rename to Assets/Common/Tests/PlayMode/CourseActivityTests.cs
index 4eb81ac..15829a0 100644
--- a/Assets/Common/PlayModeTests/CourseActivityTests.cs
+++ b/Assets/Common/Tests/PlayMode/CourseActivityTests.cs
@@ -11,7 +11,7 @@ public class CourseActivityTests
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/Common/PlayModeTests/CourseActivityTests.cs.meta b/Assets/Common/Tests/PlayMode/CourseActivityTests.cs.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/CourseActivityTests.cs.meta
rename to Assets/Common/Tests/PlayMode/CourseActivityTests.cs.meta
diff --git a/Assets/Common/PlayModeTests/CourseMenuScreenTests.cs b/Assets/Common/Tests/PlayMode/CourseMenuScreenTests.cs
similarity index 91%
rename from Assets/Common/PlayModeTests/CourseMenuScreenTests.cs
rename to Assets/Common/Tests/PlayMode/CourseMenuScreenTests.cs
index ce2a517..88922a3 100644
--- a/Assets/Common/PlayModeTests/CourseMenuScreenTests.cs
+++ b/Assets/Common/Tests/PlayMode/CourseMenuScreenTests.cs
@@ -5,13 +5,13 @@ using UnityEditor;
using UnityEngine;
using UnityEngine.TestTools;
-public class CourseMenuScreenTest
+public class CourseMenuScreenTests
{
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/Common/PlayModeTests/CourseMenuScreenTests.cs.meta b/Assets/Common/Tests/PlayMode/CourseMenuScreenTests.cs.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/CourseMenuScreenTests.cs.meta
rename to Assets/Common/Tests/PlayMode/CourseMenuScreenTests.cs.meta
diff --git a/Assets/Common/PlayModeTests/ListCoursesScreenTests.cs b/Assets/Common/Tests/PlayMode/ListCoursesScreenTests.cs
similarity index 91%
rename from Assets/Common/PlayModeTests/ListCoursesScreenTests.cs
rename to Assets/Common/Tests/PlayMode/ListCoursesScreenTests.cs
index 0efcd63..1334264 100644
--- a/Assets/Common/PlayModeTests/ListCoursesScreenTests.cs
+++ b/Assets/Common/Tests/PlayMode/ListCoursesScreenTests.cs
@@ -5,13 +5,13 @@ using UnityEditor;
using UnityEngine;
using UnityEngine.TestTools;
-public class ListCoursesScreenTest
+public class ListCoursesScreenTests
{
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/Common/PlayModeTests/ListCoursesScreenTests.cs.meta b/Assets/Common/Tests/PlayMode/ListCoursesScreenTests.cs.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/ListCoursesScreenTests.cs.meta
rename to Assets/Common/Tests/PlayMode/ListCoursesScreenTests.cs.meta
diff --git a/Assets/Common/PlayModeTests/MainMenuScreenTests.cs b/Assets/Common/Tests/PlayMode/MainMenuScreenTests.cs
similarity index 96%
rename from Assets/Common/PlayModeTests/MainMenuScreenTests.cs
rename to Assets/Common/Tests/PlayMode/MainMenuScreenTests.cs
index 1517265..51cbc10 100644
--- a/Assets/Common/PlayModeTests/MainMenuScreenTests.cs
+++ b/Assets/Common/Tests/PlayMode/MainMenuScreenTests.cs
@@ -13,7 +13,7 @@ public class MainMenuScreenTests
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/Common/PlayModeTests/MainMenuScreenTests.cs.meta b/Assets/Common/Tests/PlayMode/MainMenuScreenTests.cs.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/MainMenuScreenTests.cs.meta
rename to Assets/Common/Tests/PlayMode/MainMenuScreenTests.cs.meta
diff --git a/Assets/Common/PlayModeTests/MinigameActivityScreenTests.cs b/Assets/Common/Tests/PlayMode/MinigameActivityScreenTests.cs
similarity index 94%
rename from Assets/Common/PlayModeTests/MinigameActivityScreenTests.cs
rename to Assets/Common/Tests/PlayMode/MinigameActivityScreenTests.cs
index 59e5ac5..5a29d14 100644
--- a/Assets/Common/PlayModeTests/MinigameActivityScreenTests.cs
+++ b/Assets/Common/Tests/PlayMode/MinigameActivityScreenTests.cs
@@ -12,7 +12,7 @@ public class MiniGameActivityScreenTests
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/Common/PlayModeTests/MinigameActivityScreenTests.cs.meta b/Assets/Common/Tests/PlayMode/MinigameActivityScreenTests.cs.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/MinigameActivityScreenTests.cs.meta
rename to Assets/Common/Tests/PlayMode/MinigameActivityScreenTests.cs.meta
diff --git a/Assets/Common/PlayModeTests/StartGameTests.cs b/Assets/Common/Tests/PlayMode/StartGameTests.cs
similarity index 95%
rename from Assets/Common/PlayModeTests/StartGameTests.cs
rename to Assets/Common/Tests/PlayMode/StartGameTests.cs
index e8c9ecc..24d9d9c 100644
--- a/Assets/Common/PlayModeTests/StartGameTests.cs
+++ b/Assets/Common/Tests/PlayMode/StartGameTests.cs
@@ -12,7 +12,7 @@ public class StartGamesTests
[UnityTest]
public IEnumerator BootWithUsersTest()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
@@ -54,7 +54,7 @@ public class StartGamesTests
[UnityTest]
public IEnumerator BootWithoutUsersTest()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string noUsers = "https://www.youtube.com/watch?v=dQw4w9WgXcQ";
File.WriteAllText(path, noUsers);
diff --git a/Assets/Common/PlayModeTests/StartGameTests.cs.meta b/Assets/Common/Tests/PlayMode/StartGameTests.cs.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/StartGameTests.cs.meta
rename to Assets/Common/Tests/PlayMode/StartGameTests.cs.meta
diff --git a/Assets/Common/PlayModeTests/UserButtonTests.cs b/Assets/Common/Tests/PlayMode/UserButtonTests.cs
similarity index 95%
rename from Assets/Common/PlayModeTests/UserButtonTests.cs
rename to Assets/Common/Tests/PlayMode/UserButtonTests.cs
index 271b7cb..772c00b 100644
--- a/Assets/Common/PlayModeTests/UserButtonTests.cs
+++ b/Assets/Common/Tests/PlayMode/UserButtonTests.cs
@@ -12,7 +12,7 @@ public class UserButtonTests
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/Common/PlayModeTests/UserButtonTests.cs.meta b/Assets/Common/Tests/PlayMode/UserButtonTests.cs.meta
similarity index 100%
rename from Assets/Common/PlayModeTests/UserButtonTests.cs.meta
rename to Assets/Common/Tests/PlayMode/UserButtonTests.cs.meta
diff --git a/Assets/Courses/PlayModeTests/BasicTests.cs b/Assets/Courses/PlayModeTests/BasicTests.cs
deleted file mode 100644
index 6d4d054..0000000
--- a/Assets/Courses/PlayModeTests/BasicTests.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.TestTools;
-using UnityEngine.SceneManagement;
-
-public class BasicTests
-{
- // A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use
- // `yield return null;` to skip a frame.
- [UnityTest]
- public IEnumerator BasicTestsWithEnumeratorPasses()
- {
- SceneManager.LoadScene("CourseScreen");
- // Use the Assert class to test conditions.
- // Use yield to skip a frame.
- yield return null;
-
-
-
- // var courseObject = GameObject.findGameObjectWithTag("Course");
- // Assert.IsNotNull(courseObject);
-
- }
-}
-
diff --git a/Assets/Courses/Tests/BasicTests.cs b/Assets/Courses/Tests/BasicTests.cs
deleted file mode 100644
index 7da4cc0..0000000
--- a/Assets/Courses/Tests/BasicTests.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.TestTools;
-
-public class BasicTests
-{
- // A Test behaves as an ordinary method
- [Test]
- public void BasicTestsSimplePasses()
- {
- // Use the Assert class to test conditions
- }
-
- // A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use
- // `yield return null;` to skip a frame.
- [UnityTest]
- public IEnumerator BasicTestsWithEnumeratorPasses()
- {
- // Use the Assert class to test conditions.
- // Use yield to skip a frame.
- yield return null;
- }
-}
diff --git a/Assets/Courses/Tests/EditMode.meta b/Assets/Courses/Tests/EditMode.meta
new file mode 100644
index 0000000..7ec459f
--- /dev/null
+++ b/Assets/Courses/Tests/EditMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7b612bda41dae86458d68ba90d0130d3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Courses/Tests/CoursesTests.asmdef b/Assets/Courses/Tests/EditMode/CoursesEditMode.asmdef
similarity index 94%
rename from Assets/Courses/Tests/CoursesTests.asmdef
rename to Assets/Courses/Tests/EditMode/CoursesEditMode.asmdef
index 084e8f0..5b72ccf 100644
--- a/Assets/Courses/Tests/CoursesTests.asmdef
+++ b/Assets/Courses/Tests/EditMode/CoursesEditMode.asmdef
@@ -1,5 +1,5 @@
{
- "name": "CoursesTests",
+ "name": "CoursesEditMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
diff --git a/Assets/Courses/Tests/CoursesTests.asmdef.meta b/Assets/Courses/Tests/EditMode/CoursesEditMode.asmdef.meta
similarity index 100%
rename from Assets/Courses/Tests/CoursesTests.asmdef.meta
rename to Assets/Courses/Tests/EditMode/CoursesEditMode.asmdef.meta
diff --git a/Assets/Courses/Tests/PlayMode.meta b/Assets/Courses/Tests/PlayMode.meta
new file mode 100644
index 0000000..d078a78
--- /dev/null
+++ b/Assets/Courses/Tests/PlayMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 25fe0e709e59ccf45af2c8588d777727
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Courses/PlayModeTests/PlayModeTests.asmdef b/Assets/Courses/Tests/PlayMode/CoursesPlayMode.asmdef
similarity index 88%
rename from Assets/Courses/PlayModeTests/PlayModeTests.asmdef
rename to Assets/Courses/Tests/PlayMode/CoursesPlayMode.asmdef
index 081dc61..e9a265f 100644
--- a/Assets/Courses/PlayModeTests/PlayModeTests.asmdef
+++ b/Assets/Courses/Tests/PlayMode/CoursesPlayMode.asmdef
@@ -1,10 +1,10 @@
{
- "name": "PlayModeTests",
+ "name": "CoursesPlayMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
"UnityEditor.TestRunner",
- "ArchitectureScripts"
+ "CourseScripts"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/Assets/Courses/Tests/PlayMode/CoursesPlayMode.asmdef.meta b/Assets/Courses/Tests/PlayMode/CoursesPlayMode.asmdef.meta
new file mode 100644
index 0000000..9709c96
--- /dev/null
+++ b/Assets/Courses/Tests/PlayMode/CoursesPlayMode.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4428dbcc740985848a614df62a4e4610
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor/Color_scheme_WeSign.colors b/Assets/Editor/Color Scheme WeSign.colors
similarity index 97%
rename from Assets/Editor/Color_scheme_WeSign.colors
rename to Assets/Editor/Color Scheme WeSign.colors
index e9e8f97..eeb38e6 100644
--- a/Assets/Editor/Color_scheme_WeSign.colors
+++ b/Assets/Editor/Color Scheme WeSign.colors
@@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 12323, guid: 0000000000000000e000000000000000, type: 0}
- m_Name: Color_scheme_WeSign
+ m_Name: Color Scheme WeSign
m_EditorClassIdentifier:
m_Presets:
- m_Name:
diff --git a/Assets/Editor/Color_scheme_WeSign.colors.meta b/Assets/Editor/Color Scheme WeSign.colors.meta
similarity index 100%
rename from Assets/Editor/Color_scheme_WeSign.colors.meta
rename to Assets/Editor/Color Scheme WeSign.colors.meta
diff --git a/Assets/Hangman/Scripts/HangmanScripts.asmdef b/Assets/Hangman/Scripts/HangmanScripts.asmdef
index 161066e..65252b0 100644
--- a/Assets/Hangman/Scripts/HangmanScripts.asmdef
+++ b/Assets/Hangman/Scripts/HangmanScripts.asmdef
@@ -7,8 +7,8 @@
"GUID:1631ed2680c61245b8211d943c1639a8",
"GUID:58e104b97fb3752438ada2902a36dcbf",
"GUID:7f2d0ee6dd21e1d4eb25b71b7a749d25",
- "GUID:403dd94a93598934eb522dc36df43d7b",
- "GUID:d0b6b39a21908f94fbbd9f2c196a9725"
+ "GUID:d0b6b39a21908f94fbbd9f2c196a9725",
+ "GUID:403dd94a93598934eb522dc36df43d7b"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/Assets/Hangman/Tests/BasicTests.cs b/Assets/Hangman/Tests/BasicTests.cs
deleted file mode 100644
index a6355d4..0000000
--- a/Assets/Hangman/Tests/BasicTests.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.TestTools;
-
-public class BasicTests
-{
- // A Test behaves as an ordinary method
- [Test]
- public void BasicTestsSimplePasses()
- {
- Assert.True(true);
- }
-
- // A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use
- // `yield return null;` to skip a frame.
- [UnityTest]
- public IEnumerator BasicTestsWithEnumeratorPasses()
- {
- // Use the Assert class to test conditions.
- // Use yield to skip a frame.
- yield return null;
- }
-}
\ No newline at end of file
diff --git a/Assets/Hangman/Tests/EditMode.meta b/Assets/Hangman/Tests/EditMode.meta
new file mode 100644
index 0000000..be07931
--- /dev/null
+++ b/Assets/Hangman/Tests/EditMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 89a614164a62fcc4b83897e3552a0872
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Hangman/Tests/HangmanTests.asmdef b/Assets/Hangman/Tests/EditMode/HangmanEditMode.asmdef
similarity index 94%
rename from Assets/Hangman/Tests/HangmanTests.asmdef
rename to Assets/Hangman/Tests/EditMode/HangmanEditMode.asmdef
index 211b815..20b7cc8 100644
--- a/Assets/Hangman/Tests/HangmanTests.asmdef
+++ b/Assets/Hangman/Tests/EditMode/HangmanEditMode.asmdef
@@ -1,5 +1,5 @@
{
- "name": "HangmanTests",
+ "name": "HangmanEditMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
diff --git a/Assets/Hangman/Tests/HangmanTests.asmdef.meta b/Assets/Hangman/Tests/EditMode/HangmanEditMode.asmdef.meta
similarity index 100%
rename from Assets/Hangman/Tests/HangmanTests.asmdef.meta
rename to Assets/Hangman/Tests/EditMode/HangmanEditMode.asmdef.meta
diff --git a/Assets/Hangman/Tests/PlayMode.meta b/Assets/Hangman/Tests/PlayMode.meta
new file mode 100644
index 0000000..b216f94
--- /dev/null
+++ b/Assets/Hangman/Tests/PlayMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: efc47f081bd72be4ca7d8a27f75fbf3d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/SystemArchitecture/Tests/ArchitectureTests.asmdef b/Assets/Hangman/Tests/PlayMode/HangmanPlayMode.asmdef
similarity index 87%
rename from Assets/SystemArchitecture/Tests/ArchitectureTests.asmdef
rename to Assets/Hangman/Tests/PlayMode/HangmanPlayMode.asmdef
index 0192c2f..99559ed 100644
--- a/Assets/SystemArchitecture/Tests/ArchitectureTests.asmdef
+++ b/Assets/Hangman/Tests/PlayMode/HangmanPlayMode.asmdef
@@ -1,10 +1,10 @@
{
- "name": "ArchitectureTests",
+ "name": "HangmanPlayMode",
"rootNamespace": "",
"references": [
- "UnityEditor.TestRunner",
"UnityEngine.TestRunner",
- "ArchitectureScripts"
+ "UnityEditor.TestRunner",
+ "HangmanScripts"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/Assets/Hangman/Tests/PlayMode/HangmanPlayMode.asmdef.meta b/Assets/Hangman/Tests/PlayMode/HangmanPlayMode.asmdef.meta
new file mode 100644
index 0000000..d16c069
--- /dev/null
+++ b/Assets/Hangman/Tests/PlayMode/HangmanPlayMode.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 385f3b8fff6fe894585df4d587a1c98a
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/JustSign/Tests/BasicTests.cs b/Assets/JustSign/Tests/BasicTests.cs
deleted file mode 100644
index 7da4cc0..0000000
--- a/Assets/JustSign/Tests/BasicTests.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.TestTools;
-
-public class BasicTests
-{
- // A Test behaves as an ordinary method
- [Test]
- public void BasicTestsSimplePasses()
- {
- // Use the Assert class to test conditions
- }
-
- // A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use
- // `yield return null;` to skip a frame.
- [UnityTest]
- public IEnumerator BasicTestsWithEnumeratorPasses()
- {
- // Use the Assert class to test conditions.
- // Use yield to skip a frame.
- yield return null;
- }
-}
diff --git a/Assets/JustSign/Tests/EditMode.meta b/Assets/JustSign/Tests/EditMode.meta
new file mode 100644
index 0000000..903a801
--- /dev/null
+++ b/Assets/JustSign/Tests/EditMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d8b45bf5698991a48912d8e48161dbd6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/JustSign/Tests/JustSignTests.asmdef b/Assets/JustSign/Tests/EditMode/JustSignEditMode.asmdef
similarity index 94%
rename from Assets/JustSign/Tests/JustSignTests.asmdef
rename to Assets/JustSign/Tests/EditMode/JustSignEditMode.asmdef
index 2860755..536b0d7 100644
--- a/Assets/JustSign/Tests/JustSignTests.asmdef
+++ b/Assets/JustSign/Tests/EditMode/JustSignEditMode.asmdef
@@ -1,5 +1,5 @@
{
- "name": "JustSignTests",
+ "name": "JustSignEditMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
diff --git a/Assets/JustSign/Tests/EditMode/JustSignEditMode.asmdef.meta b/Assets/JustSign/Tests/EditMode/JustSignEditMode.asmdef.meta
new file mode 100644
index 0000000..4857bed
--- /dev/null
+++ b/Assets/JustSign/Tests/EditMode/JustSignEditMode.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: da301c270732e794bbe57f9dcbf37bd9
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/JustSign/Tests/PlayMode.meta b/Assets/JustSign/Tests/PlayMode.meta
new file mode 100644
index 0000000..5b2e5b6
--- /dev/null
+++ b/Assets/JustSign/Tests/PlayMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 84bb363c6a8203a4d97987e5acb0d4ce
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/JustSign/Tests/PlayMode/JustSignPlayMode.asmdef b/Assets/JustSign/Tests/PlayMode/JustSignPlayMode.asmdef
new file mode 100644
index 0000000..8c1b4c1
--- /dev/null
+++ b/Assets/JustSign/Tests/PlayMode/JustSignPlayMode.asmdef
@@ -0,0 +1,22 @@
+{
+ "name": "JustSignPlayMode",
+ "rootNamespace": "",
+ "references": [
+ "UnityEngine.TestRunner",
+ "UnityEditor.TestRunner",
+ "JustSignScripts"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": true,
+ "precompiledReferences": [
+ "nunit.framework.dll"
+ ],
+ "autoReferenced": false,
+ "defineConstraints": [
+ "UNITY_INCLUDE_TESTS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/JustSign/Tests/JustSignTests.asmdef.meta b/Assets/JustSign/Tests/PlayMode/JustSignPlayMode.asmdef.meta
similarity index 100%
rename from Assets/JustSign/Tests/JustSignTests.asmdef.meta
rename to Assets/JustSign/Tests/PlayMode/JustSignPlayMode.asmdef.meta
diff --git a/Assets/Minigames/Tests.meta b/Assets/Minigames/Tests.meta
new file mode 100644
index 0000000..c7a71dd
--- /dev/null
+++ b/Assets/Minigames/Tests.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 43dc2b3a7ccb6f44092dae9cfafcfdf7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Minigames/Tests/EditMode.meta b/Assets/Minigames/Tests/EditMode.meta
new file mode 100644
index 0000000..a89bee0
--- /dev/null
+++ b/Assets/Minigames/Tests/EditMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8bdff8c43ae2ed3408ac9dd22babdea1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Minigames/Tests/EditMode/MinigameEditMode.asmdef b/Assets/Minigames/Tests/EditMode/MinigameEditMode.asmdef
new file mode 100644
index 0000000..a4e2aee
--- /dev/null
+++ b/Assets/Minigames/Tests/EditMode/MinigameEditMode.asmdef
@@ -0,0 +1,24 @@
+{
+ "name": "MinigameEditMode",
+ "rootNamespace": "",
+ "references": [
+ "UnityEngine.TestRunner",
+ "UnityEditor.TestRunner",
+ "MinigameScripts"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": true,
+ "precompiledReferences": [
+ "nunit.framework.dll"
+ ],
+ "autoReferenced": false,
+ "defineConstraints": [
+ "UNITY_INCLUDE_TESTS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/Minigames/Tests/EditMode/MinigameEditMode.asmdef.meta b/Assets/Minigames/Tests/EditMode/MinigameEditMode.asmdef.meta
new file mode 100644
index 0000000..ee8a2a3
--- /dev/null
+++ b/Assets/Minigames/Tests/EditMode/MinigameEditMode.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ea6df98465882b7449460b40b88f7c28
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Minigames/Tests/PlayMode.meta b/Assets/Minigames/Tests/PlayMode.meta
new file mode 100644
index 0000000..3ea74aa
--- /dev/null
+++ b/Assets/Minigames/Tests/PlayMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9fa435327784afc45b5e3ed2c59eae23
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Minigames/Tests/PlayMode/MinigamePlayMode.asmdef b/Assets/Minigames/Tests/PlayMode/MinigamePlayMode.asmdef
new file mode 100644
index 0000000..038cda6
--- /dev/null
+++ b/Assets/Minigames/Tests/PlayMode/MinigamePlayMode.asmdef
@@ -0,0 +1,22 @@
+{
+ "name": "MinigamePlayMode",
+ "rootNamespace": "",
+ "references": [
+ "UnityEngine.TestRunner",
+ "UnityEditor.TestRunner",
+ "MinigameScripts"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": true,
+ "precompiledReferences": [
+ "nunit.framework.dll"
+ ],
+ "autoReferenced": false,
+ "defineConstraints": [
+ "UNITY_INCLUDE_TESTS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/Minigames/Tests/PlayMode/MinigamePlayMode.asmdef.meta b/Assets/Minigames/Tests/PlayMode/MinigamePlayMode.asmdef.meta
new file mode 100644
index 0000000..0179373
--- /dev/null
+++ b/Assets/Minigames/Tests/PlayMode/MinigamePlayMode.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a2381a064b1ef7745ad9ce696bde7a5f
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef b/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef
index bbf25b5..6b8b974 100644
--- a/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef
+++ b/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef
@@ -7,9 +7,9 @@
"GUID:3444c67d5a3a93e5a95a48906078c372",
"GUID:d0b6b39a21908f94fbbd9f2c196a9725",
"GUID:58e104b97fb3752438ada2902a36dcbf",
- "GUID:e83ddf9a537a96b4a804a16bb7872ec1",
"GUID:7f2d0ee6dd21e1d4eb25b71b7a749d25",
- "GUID:403dd94a93598934eb522dc36df43d7b"
+ "GUID:403dd94a93598934eb522dc36df43d7b",
+ "GUID:e83ddf9a537a96b4a804a16bb7872ec1"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/Assets/SpellingBee/Tests/BasicTests.cs b/Assets/SpellingBee/Tests/BasicTests.cs
deleted file mode 100644
index 7cffd7c..0000000
--- a/Assets/SpellingBee/Tests/BasicTests.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using NUnit.Framework;
-using System.Collections;
-using UnityEngine.TestTools;
-
-public class BasicTests
-{
- // A Test behaves as an ordinary method
- [Test]
- public void BasicTestsSimplePasses()
- {
- // Use the Assert class to test conditions
- }
-
- // A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use
- // `yield return null;` to skip a frame.
- [UnityTest]
- public IEnumerator BasicTestsWithEnumeratorPasses()
- {
- // Use the Assert class to test conditions.
- // Use yield to skip a frame.
- yield return null;
- }
-}
diff --git a/Assets/SpellingBee/Tests/BasicTests.cs.meta b/Assets/SpellingBee/Tests/BasicTests.cs.meta
deleted file mode 100644
index 6035afb..0000000
--- a/Assets/SpellingBee/Tests/BasicTests.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 8f299faea6f9535d0a1e6698b5be94ed
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SpellingBee/Tests/EditMode.meta b/Assets/SpellingBee/Tests/EditMode.meta
new file mode 100644
index 0000000..321edca
--- /dev/null
+++ b/Assets/SpellingBee/Tests/EditMode.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 61b004829d55df545a3bfb03c40eca7b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/SpellingBee/Tests/SpellingBeeTests.asmdef b/Assets/SpellingBee/Tests/EditMode/SpellingBeeEditMode.asmdef
similarity index 93%
rename from Assets/SpellingBee/Tests/SpellingBeeTests.asmdef
rename to Assets/SpellingBee/Tests/EditMode/SpellingBeeEditMode.asmdef
index dc9de8e..33473f7 100644
--- a/Assets/SpellingBee/Tests/SpellingBeeTests.asmdef
+++ b/Assets/SpellingBee/Tests/EditMode/SpellingBeeEditMode.asmdef
@@ -1,5 +1,5 @@
{
- "name": "SpellingBeeTests",
+ "name": "SpellingBeeEditMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
diff --git a/Assets/SpellingBee/Tests/SpellingBeeTests.asmdef.meta b/Assets/SpellingBee/Tests/EditMode/SpellingBeeEditMode.asmdef.meta
similarity index 100%
rename from Assets/SpellingBee/Tests/SpellingBeeTests.asmdef.meta
rename to Assets/SpellingBee/Tests/EditMode/SpellingBeeEditMode.asmdef.meta
diff --git a/Assets/SpellingBee/PlayModeTests.meta b/Assets/SpellingBee/Tests/PlayMode.meta
similarity index 100%
rename from Assets/SpellingBee/PlayModeTests.meta
rename to Assets/SpellingBee/Tests/PlayMode.meta
diff --git a/Assets/SpellingBee/PlayModeTests/GameEndedPanelTests.cs b/Assets/SpellingBee/Tests/PlayMode/GameEndedPanelTests.cs
similarity index 96%
rename from Assets/SpellingBee/PlayModeTests/GameEndedPanelTests.cs
rename to Assets/SpellingBee/Tests/PlayMode/GameEndedPanelTests.cs
index df4428a..8ec0c00 100644
--- a/Assets/SpellingBee/PlayModeTests/GameEndedPanelTests.cs
+++ b/Assets/SpellingBee/Tests/PlayMode/GameEndedPanelTests.cs
@@ -10,7 +10,7 @@ public class SpellingBeeGameEndedPanelTests
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/SpellingBee/PlayModeTests/GameEndedPanelTests.cs.meta b/Assets/SpellingBee/Tests/PlayMode/GameEndedPanelTests.cs.meta
similarity index 100%
rename from Assets/SpellingBee/PlayModeTests/GameEndedPanelTests.cs.meta
rename to Assets/SpellingBee/Tests/PlayMode/GameEndedPanelTests.cs.meta
diff --git a/Assets/SpellingBee/PlayModeTests/SpellingBeeControllerTests.cs b/Assets/SpellingBee/Tests/PlayMode/SpellingBeeControllerTests.cs
similarity index 97%
rename from Assets/SpellingBee/PlayModeTests/SpellingBeeControllerTests.cs
rename to Assets/SpellingBee/Tests/PlayMode/SpellingBeeControllerTests.cs
index d8db61d..a849d3f 100644
--- a/Assets/SpellingBee/PlayModeTests/SpellingBeeControllerTests.cs
+++ b/Assets/SpellingBee/Tests/PlayMode/SpellingBeeControllerTests.cs
@@ -10,7 +10,7 @@ public class SpellingBeeControllerTests
[UnitySetUp]
public IEnumerator SetupFunction()
{
- string path = $"{Application.persistentDataPath}/unit_test_users.json";
+ string path = $"{Application.persistentDataPath}/wesign_unit_test.json";
string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}";
File.WriteAllText(path, oneUser);
diff --git a/Assets/SpellingBee/PlayModeTests/SpellingBeeControllerTests.cs.meta b/Assets/SpellingBee/Tests/PlayMode/SpellingBeeControllerTests.cs.meta
similarity index 100%
rename from Assets/SpellingBee/PlayModeTests/SpellingBeeControllerTests.cs.meta
rename to Assets/SpellingBee/Tests/PlayMode/SpellingBeeControllerTests.cs.meta
diff --git a/Assets/SpellingBee/PlayModeTests/SpellingBeePlayModeTests.asmdef b/Assets/SpellingBee/Tests/PlayMode/SpellingBeePlayMode.asmdef
similarity index 86%
rename from Assets/SpellingBee/PlayModeTests/SpellingBeePlayModeTests.asmdef
rename to Assets/SpellingBee/Tests/PlayMode/SpellingBeePlayMode.asmdef
index 90cc80d..73ed5b0 100644
--- a/Assets/SpellingBee/PlayModeTests/SpellingBeePlayModeTests.asmdef
+++ b/Assets/SpellingBee/Tests/PlayMode/SpellingBeePlayMode.asmdef
@@ -1,5 +1,5 @@
{
- "name": "SpellingBeePlayModeTests",
+ "name": "SpellingBeePlayMode",
"rootNamespace": "",
"references": [
"UnityEngine.TestRunner",
@@ -8,9 +8,9 @@
"Unity.TextMeshPro",
"SpellingBeeScripts",
"AccountsScripts",
- "ArchitectureScripts",
"SignPredictor",
- "MinigameScripts"
+ "MinigameScripts",
+ "ArchitectureScripts"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/Assets/SpellingBee/PlayModeTests/SpellingBeePlayModeTests.asmdef.meta b/Assets/SpellingBee/Tests/PlayMode/SpellingBeePlayMode.asmdef.meta
similarity index 100%
rename from Assets/SpellingBee/PlayModeTests/SpellingBeePlayModeTests.asmdef.meta
rename to Assets/SpellingBee/Tests/PlayMode/SpellingBeePlayMode.asmdef.meta
diff --git a/Packages/manifest.json b/Packages/manifest.json
index f87140d..c1b9b32 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -9,14 +9,14 @@
}
],
"dependencies": {
- "ai.natml.natml": "1.1.3",
+ "ai.natml.natml": "1.1.5",
"com.unity.2d.sprite": "1.0.0",
"com.unity.collab-proxy": "2.0.0",
"com.unity.ide.rider": "3.0.18",
- "com.unity.ide.visualstudio": "2.0.17",
+ "com.unity.ide.visualstudio": "2.0.18",
"com.unity.ide.vscode": "1.2.5",
"com.unity.test-framework": "1.1.33",
- "com.unity.testtools.codecoverage": "1.2.2",
+ "com.unity.testtools.codecoverage": "1.2.3",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.6.4",
"com.unity.ugui": "1.0.0",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 3e3a80c..549a82c 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -8,11 +8,12 @@
"url": "https://registry.npmjs.com"
},
"ai.natml.natml": {
- "version": "1.1.3",
+ "version": "1.1.5",
"depth": 0,
"source": "registry",
"dependencies": {
- "ai.natml.hub": "1.0.20"
+ "ai.natml.hub": "1.0.20",
+ "com.unity.nuget.newtonsoft-json": "3.1.0"
},
"url": "https://registry.npmjs.com"
},
@@ -52,7 +53,7 @@
"url": "https://packages.unity.com"
},
"com.unity.ide.visualstudio": {
- "version": "2.0.17",
+ "version": "2.0.18",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -67,6 +68,13 @@
"dependencies": {},
"url": "https://packages.unity.com"
},
+ "com.unity.nuget.newtonsoft-json": {
+ "version": "3.1.0",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
"com.unity.settings-manager": {
"version": "1.0.3",
"depth": 1,
@@ -86,7 +94,7 @@
"url": "https://packages.unity.com"
},
"com.unity.testtools.codecoverage": {
- "version": "1.2.2",
+ "version": "1.2.3",
"depth": 0,
"source": "registry",
"dependencies": {
diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset
index ebaed27..b36ab04 100644
--- a/ProjectSettings/EditorBuildSettings.asset
+++ b/ProjectSettings/EditorBuildSettings.asset
@@ -11,6 +11,27 @@ EditorBuildSettings:
- enabled: 1
path: Assets/Common/Scenes/MainMenuScreen.unity
guid: a50df781449ac1fa5a036626c4710b24
+ - enabled: 1
+ path: Assets/Common/Scenes/CoursesMenuScreen.unity
+ guid: 4fb0b014dad7fcdcb96413a2c31b9cd1
+ - enabled: 1
+ path: Assets/Common/Scenes/ListCoursesScreen.unity
+ guid: 854b0d72c38c8e992be22284a35990ae
+ - enabled: 1
+ path: Assets/Common/Scenes/ListMinigamesScreen.unity
+ guid: bfec7d1fbaa2ffd038ca6a86e6213bb7
+ - enabled: 1
+ path: Assets/Common/Scenes/CourseActivityScreen.unity
+ guid: 5ff44b09f5858a64692f58938fd6d2ff
+ - enabled: 1
+ path: Assets/Common/Scenes/MinigameActivityScreen.unity
+ guid: 8e27404f21454dc4583f76b4c7df0c30
+ - enabled: 1
+ path: Assets/Common/Scenes/ThemeSelectionScreen.unity
+ guid: 2dfa1265c9d65014c90941ac4240a977
+ - enabled: 1
+ path: Assets/Common/Scenes/SettingsScreen.unity
+ guid: 082b8c0d94b135d4a98f83699c92e45b
- enabled: 1
path: Assets/Accounts/Scenes/UserCreationScreen.unity
guid: 401cfc17c01f88847b434260a6a93933
@@ -20,30 +41,6 @@ EditorBuildSettings:
- enabled: 1
path: Assets/Accounts/Scenes/UserProgressScreen.unity
guid: 222ac8b048efd45478729efeea1f6110
- - enabled: 1
- path: Assets/Common/Scenes/CoursesMenuScreen.unity
- guid: 4fb0b014dad7fcdcb96413a2c31b9cd1
- - enabled: 1
- path: Assets/Common/Scenes/ListMinigamesScreen.unity
- guid: bfec7d1fbaa2ffd038ca6a86e6213bb7
- - enabled: 1
- path: Assets/Common/Scenes/ListCoursesScreen.unity
- guid: 854b0d72c38c8e992be22284a35990ae
- - enabled: 1
- path: Assets/Common/Scenes/SettingsScreen.unity
- guid: 082b8c0d94b135d4a98f83699c92e45b
- - enabled: 1
- path: Assets/Common/Scenes/CourseActivityScreen.unity
- guid: 5ff44b09f5858a64692f58938fd6d2ff
- - enabled: 1
- path: Assets/Common/Scenes/MinigameActivityScreen.unity
- guid: 8e27404f21454dc4583f76b4c7df0c30
- - enabled: 1
- path: Assets/JustSign/Scenes/JustSignGame.unity
- guid: 1283017ac1c1f6226854442564bd7e3d
- - enabled: 1
- path: Assets/Common/Scenes/ThemeSelectionScreen.unity
- guid: 2dfa1265c9d65014c90941ac4240a977
- enabled: 1
path: Assets/Courses/Scenes/CourseScreen.unity
guid: 2cda990e2423bbf4892e6590ba056729
diff --git a/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
index ad11087..dea77e3 100644
--- a/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
+++ b/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
@@ -2,6 +2,57 @@
"m_Name": "Settings",
"m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json",
"m_Dictionary": {
- "m_DictionaryValues": []
+ "m_DictionaryValues": [
+ {
+ "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "IncludeAssemblies",
+ "value": "{\"m_Value\":\"AccountsScripts,ArchitectureScripts,CommonScripts,CourseScripts,HangmanScripts,InterfacesScripts,JustSignScripts,MinigameScripts,SignPredictor,SignPredictorInterfaces,SpellingBeeScripts\"}"
+ },
+ {
+ "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "Path",
+ "value": "{\"m_Value\":\"{ProjectPath}\"}"
+ },
+ {
+ "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "HistoryPath",
+ "value": "{\"m_Value\":\"{ProjectPath}\"}"
+ },
+ {
+ "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "PathsToInclude",
+ "value": "{\"m_Value\":\"\"}"
+ },
+ {
+ "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "PathsToExclude",
+ "value": "{\"m_Value\":\"{ProjectPath}/Assets/Architecture/Scripts/SlicedSlider.cs\"}"
+ },
+ {
+ "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "EnableCodeCoverage",
+ "value": "{\"m_Value\":true}"
+ },
+ {
+ "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "OpenReportWhenGenerated",
+ "value": "{\"m_Value\":false}"
+ },
+ {
+ "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "GenerateTestReferences",
+ "value": "{\"m_Value\":false}"
+ },
+ {
+ "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "IncludeHistoryInReport",
+ "value": "{\"m_Value\":true}"
+ },
+ {
+ "type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
+ "key": "VerbosityLevel",
+ "value": "{\"m_Value\":4}"
+ }
+ ]
}
}
\ No newline at end of file
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index 8502e64..37f0423 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -170,6 +170,8 @@ PlayerSettings:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
+ - {fileID: 11400000, guid: 327974eea6e413e418ae0fddd61a0e00, type: 2}
+ - {fileID: 11400000, guid: 6b1932f44c6135240a0c0fdaf35d9d61, type: 2}
metroInputSource: 0
wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1