From 3abe9a46ddc41e943a9f34c7c0bfbc63c0c79571 Mon Sep 17 00:00:00 2001 From: Jason Durand 01 Date: Tue, 12 Apr 2022 20:22:26 -0400 Subject: [PATCH] Added basic playmode test --- Assets/Tests.meta | 8 +++++ Assets/Tests/EditMode.meta | 8 +++++ Assets/Tests/EditMode/EditMode.asmdef | 9 ++++++ Assets/Tests/EditMode/EditMode.asmdef.meta | 7 +++++ Assets/Tests/EditMode/EditMode.cs | 25 ++++++++++++++++ Assets/Tests/EditMode/EditMode.cs.meta | 11 +++++++ Assets/Tests/PlayMode.meta | 8 +++++ Assets/Tests/PlayMode/MainMenuTest.cs | 35 ++++++++++++++++++++++ Assets/Tests/PlayMode/MainMenuTest.cs.meta | 11 +++++++ Assets/Tests/PlayMode/PlayMode.asmdef | 6 ++++ Assets/Tests/PlayMode/PlayMode.asmdef.meta | 7 +++++ 11 files changed, 135 insertions(+) create mode 100644 Assets/Tests.meta create mode 100644 Assets/Tests/EditMode.meta create mode 100644 Assets/Tests/EditMode/EditMode.asmdef create mode 100644 Assets/Tests/EditMode/EditMode.asmdef.meta create mode 100644 Assets/Tests/EditMode/EditMode.cs create mode 100644 Assets/Tests/EditMode/EditMode.cs.meta create mode 100644 Assets/Tests/PlayMode.meta create mode 100644 Assets/Tests/PlayMode/MainMenuTest.cs create mode 100644 Assets/Tests/PlayMode/MainMenuTest.cs.meta create mode 100644 Assets/Tests/PlayMode/PlayMode.asmdef create mode 100644 Assets/Tests/PlayMode/PlayMode.asmdef.meta diff --git a/Assets/Tests.meta b/Assets/Tests.meta new file mode 100644 index 0000000..fb17dd1 --- /dev/null +++ b/Assets/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 97c3c968a05022c42a8afcddd5ba16fd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/EditMode.meta b/Assets/Tests/EditMode.meta new file mode 100644 index 0000000..a0d4c31 --- /dev/null +++ b/Assets/Tests/EditMode.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 745582fe353926a41918339687dc168e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/EditMode/EditMode.asmdef b/Assets/Tests/EditMode/EditMode.asmdef new file mode 100644 index 0000000..a2df90a --- /dev/null +++ b/Assets/Tests/EditMode/EditMode.asmdef @@ -0,0 +1,9 @@ +{ + "name": "EditMode", + "optionalUnityReferences": [ + "TestAssemblies" + ], + "includePlatforms": [ + "Editor" + ] +} \ No newline at end of file diff --git a/Assets/Tests/EditMode/EditMode.asmdef.meta b/Assets/Tests/EditMode/EditMode.asmdef.meta new file mode 100644 index 0000000..6479ed9 --- /dev/null +++ b/Assets/Tests/EditMode/EditMode.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 41324bed7752dc84b904df728d350bb3 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/EditMode/EditMode.cs b/Assets/Tests/EditMode/EditMode.cs new file mode 100644 index 0000000..b736322 --- /dev/null +++ b/Assets/Tests/EditMode/EditMode.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; + +public class EditMode +{ + // A Test behaves as an ordinary method + [Test] + public void EditModeSimplePasses() + { + // 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 EditModeWithEnumeratorPasses() + { + // Use the Assert class to test conditions. + // Use yield to skip a frame. + yield return null; + } +} diff --git a/Assets/Tests/EditMode/EditMode.cs.meta b/Assets/Tests/EditMode/EditMode.cs.meta new file mode 100644 index 0000000..19157f7 --- /dev/null +++ b/Assets/Tests/EditMode/EditMode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 90453b5027450574b8d463cd565e053e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/PlayMode.meta b/Assets/Tests/PlayMode.meta new file mode 100644 index 0000000..2bf7da4 --- /dev/null +++ b/Assets/Tests/PlayMode.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 284346620aa113d45bdae8a4626ccd98 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/PlayMode/MainMenuTest.cs b/Assets/Tests/PlayMode/MainMenuTest.cs new file mode 100644 index 0000000..390b45c --- /dev/null +++ b/Assets/Tests/PlayMode/MainMenuTest.cs @@ -0,0 +1,35 @@ +using System.Collections; +using NUnit.Framework; +using UnityEditor.SceneManagement; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.SceneManagement; +using UnityEngine.TestTools; + +public class MainMenuTest { + [UnitySetUp] + public IEnumerator SetUp() { + yield return EditorSceneManager.LoadSceneAsyncInPlayMode( + "Assets/Scenes/SampleScene.unity", + new LoadSceneParameters(LoadSceneMode.Single) + ); + } + + [Test] + public void OnlyOneEventSystem() { + EventSystem[] eventSystems = Object.FindObjectsOfType(); + Assert.AreEqual(1, eventSystems.Length); + } + + [Test] + public void StartIsSelected() { + var eventSystem = Object.FindObjectOfType(); + Assert.NotNull(eventSystem); + + GameObject currentSelected = eventSystem.currentSelectedGameObject; + Assert.NotNull(currentSelected); + + // Maybe find other way than string compare? + Assert.AreEqual("Start Button", currentSelected.name); + } +} \ No newline at end of file diff --git a/Assets/Tests/PlayMode/MainMenuTest.cs.meta b/Assets/Tests/PlayMode/MainMenuTest.cs.meta new file mode 100644 index 0000000..001f986 --- /dev/null +++ b/Assets/Tests/PlayMode/MainMenuTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a4f28bbeecc803d418608ad2b5df24a6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tests/PlayMode/PlayMode.asmdef b/Assets/Tests/PlayMode/PlayMode.asmdef new file mode 100644 index 0000000..5c77dfe --- /dev/null +++ b/Assets/Tests/PlayMode/PlayMode.asmdef @@ -0,0 +1,6 @@ +{ + "name": "PlayMode", + "optionalUnityReferences": [ + "TestAssemblies" + ] +} diff --git a/Assets/Tests/PlayMode/PlayMode.asmdef.meta b/Assets/Tests/PlayMode/PlayMode.asmdef.meta new file mode 100644 index 0000000..ce3d83b --- /dev/null +++ b/Assets/Tests/PlayMode/PlayMode.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cfe964b34114a5b4a994cba7bdfc2ea3 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: