com.valectric.mooserunner 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/CLI~/mooserunnerCli.exe +0 -0
  3. package/CLI~/mooserunnerCliDaemon.exe +0 -0
  4. package/Editor/GUI/MooseRunnerFail.png +0 -0
  5. package/Editor/GUI/MooseRunnerFail.png.meta +140 -0
  6. package/Editor/GUI/MooseRunnerGreenLED.png +0 -0
  7. package/Editor/GUI/MooseRunnerGreenLED.png.meta +140 -0
  8. package/Editor/GUI/MooseRunnerLogoBannerSmall.png +0 -0
  9. package/Editor/GUI/MooseRunnerLogoBannerSmall.png.meta +140 -0
  10. package/Editor/GUI/MooseRunnerNotRun.png +0 -0
  11. package/Editor/GUI/MooseRunnerNotRun.png.meta +140 -0
  12. package/Editor/GUI/MooseRunnerPass.png +0 -0
  13. package/Editor/GUI/MooseRunnerPass.png.meta +140 -0
  14. package/Editor/GUI/MooseRunnerYellowLED.png +0 -0
  15. package/Editor/GUI/MooseRunnerYellowLED.png.meta +140 -0
  16. package/Editor/MooseRunner.Editor.asmdef +17 -0
  17. package/Editor/MooseRunner.Editor.asmdef.meta +7 -0
  18. package/Editor/MooseRunner.Internal.Editor.dll +0 -0
  19. package/Editor/MooseRunner.Internal.Editor.dll.meta +33 -0
  20. package/Editor/MooseRunner.SessionRecorder.dll +0 -0
  21. package/Editor/MooseRunner.SessionRecorder.dll.meta +33 -0
  22. package/Editor/MooseRunner.Worker.dll +0 -0
  23. package/Editor/MooseRunner.Worker.dll.meta +33 -0
  24. package/Editor/_WrapperStub.cs +3 -0
  25. package/Editor/_WrapperStub.cs.meta +11 -0
  26. package/LICENSE.md +28 -0
  27. package/README.md +347 -0
  28. package/Runtime/Helpers/DoNotDestroyOnTeardown/DoNotDestroyOnTeardown.cs +262 -0
  29. package/Runtime/Helpers/DoNotDestroyOnTeardown/DoNotDestroyOnTeardown.cs.meta +2 -0
  30. package/Runtime/Helpers/DoNotDestroyOnTeardown/MooseRunner.helper.asmdef +18 -0
  31. package/Runtime/Helpers/DoNotDestroyOnTeardown/MooseRunner.helper.asmdef.meta +7 -0
  32. package/Runtime/MooseRunner.Helpers.Runtime.dll +0 -0
  33. package/Runtime/MooseRunner.Helpers.Runtime.dll.meta +27 -0
  34. package/Runtime/MooseRunner.Internal.dll +0 -0
  35. package/Runtime/MooseRunner.Internal.dll.meta +27 -0
  36. package/Runtime/MooseRunner.Multiplaytest.Types.dll +0 -0
  37. package/Runtime/MooseRunner.Multiplaytest.Types.dll.meta +27 -0
  38. package/Runtime/MooseRunner.Runtime.asmdef +20 -0
  39. package/Runtime/MooseRunner.Runtime.asmdef.meta +7 -0
  40. package/Runtime/MooseRunner.SessionRecorder.Runtime.dll +0 -0
  41. package/Runtime/MooseRunner.SessionRecorder.Runtime.dll.meta +27 -0
  42. package/Runtime/MooseRunner.dll +0 -0
  43. package/Runtime/MooseRunner.dll.meta +27 -0
  44. package/Runtime/_WrapperStub.cs +3 -0
  45. package/Runtime/_WrapperStub.cs.meta +11 -0
  46. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/BatchCancellationTests.cs +37 -0
  47. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/BatchCancellationTests.cs.meta +2 -0
  48. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/CancellationTokenTests.cs +186 -0
  49. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/CancellationTokenTests.cs.meta +2 -0
  50. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/MooseRunner.Demo.CancellationTokens.Tests.asmdef +28 -0
  51. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/MooseRunner.Demo.CancellationTokens.Tests.asmdef.meta +7 -0
  52. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/SetupTeardownCancellationTests.cs +84 -0
  53. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/SetupTeardownCancellationTests.cs.meta +2 -0
  54. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/TESTING_INSTRUCTIONS.md +491 -0
  55. package/Samples~/Demos/MooseRunner.Demo.CancellationTokens.Tests/TESTING_INSTRUCTIONS.md.meta +7 -0
  56. package/Samples~/Demos/MooseRunner.Demo.ErrorHandling.Tests/ErrorHandelingTest.cs +177 -0
  57. package/Samples~/Demos/MooseRunner.Demo.ErrorHandling.Tests/ErrorHandelingTest.cs.meta +11 -0
  58. package/Samples~/Demos/MooseRunner.Demo.ErrorHandling.Tests/MooseRunner.Demo.ErrorHandling.Tests.asmdef +28 -0
  59. package/Samples~/Demos/MooseRunner.Demo.ErrorHandling.Tests/MooseRunner.Demo.ErrorHandling.Tests.asmdef.meta +7 -0
  60. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/LogEntry.cs +51 -0
  61. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/LogEntry.cs.meta +11 -0
  62. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/LogFileParser.cs +70 -0
  63. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/LogFileParser.cs.meta +11 -0
  64. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/MooseRunner.Demo.Flow.TestSupport.asmdef +22 -0
  65. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/MooseRunner.Demo.Flow.TestSupport.asmdef.meta +7 -0
  66. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/MooseRunnerLogReference.json +62 -0
  67. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/MooseRunnerLogReference.json.meta +7 -0
  68. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/MooseRunnerLogReference_2.json +33 -0
  69. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/MooseRunnerLogReference_2.json.meta +7 -0
  70. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/MooseRunnerLogReference_No_UniTask.json +57 -0
  71. package/Samples~/Demos/MooseRunner.Demo.Flow.TestSupport/MooseRunnerLogReference_No_UniTask.json.meta +7 -0
  72. package/Samples~/Demos/MooseRunner.Demo.OrderAttribute/MethodOrderAttributeTests.cs +62 -0
  73. package/Samples~/Demos/MooseRunner.Demo.OrderAttribute/MethodOrderAttributeTests.cs.meta +2 -0
  74. package/Samples~/Demos/MooseRunner.Demo.OrderAttribute/MooseRunner.Demo.OrderAttribute.asmdef +20 -0
  75. package/Samples~/Demos/MooseRunner.Demo.OrderAttribute/MooseRunner.Demo.OrderAttribute.asmdef.meta +7 -0
  76. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/CatAnimation.controller +276 -0
  77. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/CatAnimation.controller.meta +8 -0
  78. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/Enemy.cs +101 -0
  79. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/Enemy.cs.meta +11 -0
  80. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/FireComponent.cs +19 -0
  81. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/FireComponent.cs.meta +3 -0
  82. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/Model/Ghost_cat.fbx +0 -0
  83. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/Model/Ghost_cat.fbx.meta +547 -0
  84. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/Model.meta +8 -0
  85. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/MooseRunner.Demo.RealUseCase.asmdef +29 -0
  86. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/MooseRunner.Demo.RealUseCase.asmdef.meta +7 -0
  87. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/RealUseCaseScene.unity +4758 -0
  88. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/RealUseCaseScene.unity.meta +7 -0
  89. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/RealUseCaseTest.cs +307 -0
  90. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/RealUseCaseTest.cs.meta +3 -0
  91. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/Resources/Ghost_cat.prefab +157 -0
  92. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/Resources/Ghost_cat.prefab.meta +7 -0
  93. package/Samples~/Demos/MooseRunner.Demo.RealUseCase/Resources.meta +8 -0
  94. package/Samples~/Demos/MooseRunner.Demo.Support/MessageDisplayManager.cs +291 -0
  95. package/Samples~/Demos/MooseRunner.Demo.Support/MessageDisplayManager.cs.meta +11 -0
  96. package/Samples~/Demos/MooseRunner.Demo.Support/MooseRunner.Demo.Support.asmdef +19 -0
  97. package/Samples~/Demos/MooseRunner.Demo.Support/MooseRunner.Demo.Support.asmdef.meta +7 -0
  98. package/Samples~/Demos/MooseRunner.Demo.Tests/DummyTestBase1.cs +71 -0
  99. package/Samples~/Demos/MooseRunner.Demo.Tests/DummyTestBase1.cs.meta +11 -0
  100. package/Samples~/Demos/MooseRunner.Demo.Tests/DummyTestClass1.cs +301 -0
  101. package/Samples~/Demos/MooseRunner.Demo.Tests/DummyTestClass1.cs.meta +11 -0
  102. package/Samples~/Demos/MooseRunner.Demo.Tests/DummyTestClass2.cs +69 -0
  103. package/Samples~/Demos/MooseRunner.Demo.Tests/DummyTestClass2.cs.meta +11 -0
  104. package/Samples~/Demos/MooseRunner.Demo.Tests/ExplicitAttributeTests.cs +36 -0
  105. package/Samples~/Demos/MooseRunner.Demo.Tests/ExplicitAttributeTests.cs.meta +2 -0
  106. package/Samples~/Demos/MooseRunner.Demo.Tests/HumanReviewModeDemo.cs +99 -0
  107. package/Samples~/Demos/MooseRunner.Demo.Tests/HumanReviewModeDemo.cs.meta +2 -0
  108. package/Samples~/Demos/MooseRunner.Demo.Tests/InstanceHandlingVerificationTest.cs +99 -0
  109. package/Samples~/Demos/MooseRunner.Demo.Tests/InstanceHandlingVerificationTest.cs.meta +2 -0
  110. package/Samples~/Demos/MooseRunner.Demo.Tests/MooseRunner.Demo.Tests.asmdef +23 -0
  111. package/Samples~/Demos/MooseRunner.Demo.Tests/MooseRunner.Demo.Tests.asmdef.meta +7 -0
  112. package/Samples~/Demos/MooseRunner.Demo.Tests/PauseTestExecutionDemo.cs +74 -0
  113. package/Samples~/Demos/MooseRunner.Demo.Tests/PauseTestExecutionDemo.cs.meta +2 -0
  114. package/Samples~/Demos/TestResources/OneCamera/Materials/Background.mat +137 -0
  115. package/Samples~/Demos/TestResources/OneCamera/Materials/Background.mat.meta +8 -0
  116. package/Samples~/Demos/TestResources/OneCamera/Materials/Background.png +0 -0
  117. package/Samples~/Demos/TestResources/OneCamera/Materials/Background.png.meta +127 -0
  118. package/Samples~/Demos/TestResources/OneCamera/Materials/Grid.mat +71 -0
  119. package/Samples~/Demos/TestResources/OneCamera/Materials/Grid.mat.meta +8 -0
  120. package/Samples~/Demos/TestResources/OneCamera/Materials/Grid.png +0 -0
  121. package/Samples~/Demos/TestResources/OneCamera/Materials/Grid.png.meta +127 -0
  122. package/Samples~/Demos/TestResources/OneCamera/Materials/Grid.shadergraph +1910 -0
  123. package/Samples~/Demos/TestResources/OneCamera/Materials/Grid.shadergraph.meta +10 -0
  124. package/Samples~/Demos/TestResources/OneCamera/Materials/GridNormal.png +0 -0
  125. package/Samples~/Demos/TestResources/OneCamera/Materials/GridNormal.png.meta +127 -0
  126. package/Samples~/Demos/TestResources/OneCamera/Materials.meta +8 -0
  127. package/Samples~/Demos/TestResources/OneCamera/OneCameraScene.unity +598 -0
  128. package/Samples~/Demos/TestResources/OneCamera/OneCameraScene.unity.meta +7 -0
  129. package/Samples~/Demos/TestResources/OneCamera.meta +8 -0
  130. package/Third Party Notices.md +37 -0
  131. package/package.json +38 -0
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "MooseRunner.Demo.ErrorHandling.Tests",
3
+ "rootNamespace": "",
4
+ "references": [
5
+ "UnityEngine.TestRunner",
6
+ "MooseRunner.Demo.Support",
7
+ "UniTask",
8
+ "MooseRunner.Runtime"
9
+ ],
10
+ "includePlatforms": [],
11
+ "excludePlatforms": [],
12
+ "allowUnsafeCode": false,
13
+ "precompiledReferences": [
14
+ "nunit.framework.dll"
15
+ ],
16
+ "autoReferenced": false,
17
+ "defineConstraints": [
18
+ "UNITY_INCLUDE_TESTS"
19
+ ],
20
+ "versionDefines": [
21
+ {
22
+ "name": "com.cysharp.unitask",
23
+ "expression": "",
24
+ "define": "UNITASK_PRESENT"
25
+ }
26
+ ],
27
+ "noEngineReferences": false
28
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: fad59598e5ef7884b812fe0d0798702a
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,51 @@
1
+ using System;
2
+
3
+ namespace MooseRunner.Internal.Tests {
4
+ /// <summary>
5
+ /// Represents a single log entry in MooseRunner, capturing essential information
6
+ /// about test execution such as timestamps, categories, and optional details
7
+ /// (e.g., assembly, class, or method).
8
+ /// </summary>
9
+ [Serializable]
10
+ public class LogEntry {
11
+ /// <summary>
12
+ /// The timestamp of this log entry in ISO 8601 format.
13
+ /// Example: "2025-01-04T12:34:56.789Z".
14
+ /// </summary>
15
+ public string timestamp;
16
+
17
+ /// <summary>
18
+ /// The category of this log entry (e.g., "TEST_EXECUTION", "ASSEMBLY_START", "CLASS_START", "METHOD_START", "ERROR", etc.).
19
+ /// </summary>
20
+ public string category;
21
+
22
+ /// <summary>
23
+ /// Indicates whether this entry describes a root-level test execution.
24
+ /// Typically set when <see cref="category"/> is "TEST_EXECUTION".
25
+ /// </summary>
26
+ public bool root;
27
+
28
+ /// <summary>
29
+ /// The name of the assembly associated with this log entry (if applicable).
30
+ /// For example, "MyGameAssembly".
31
+ /// </summary>
32
+ public string assembly;
33
+
34
+ /// <summary>
35
+ /// The name of the class associated with this log entry (if applicable).
36
+ /// We use <c>@class</c> to avoid conflicts with the C# <c>class</c> keyword.
37
+ /// </summary>
38
+ public string @class;
39
+
40
+ /// <summary>
41
+ /// The name of the method associated with this log entry (if applicable).
42
+ /// </summary>
43
+ public string method;
44
+
45
+ /// <summary>
46
+ /// An optional message providing additional context for this log entry.
47
+ /// </summary>
48
+ public string message;
49
+ }
50
+ }
51
+
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 60dc2a2bd8d18894ea9dc7d3ebb9c706
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,70 @@
1
+ using MooseRunner.Internal.Tests;
2
+ using System;
3
+ using System.Collections.Generic;
4
+ using System.IO;
5
+ using UnityEngine;
6
+
7
+ namespace MooseRunner.Internal.Tests
8
+ {
9
+ public class LogFileParser
10
+ {
11
+ /// <summary>
12
+ /// Parses the log file and returns a list of LogEntry objects.
13
+ /// </summary>
14
+ /// <param name="filePath">Path to the log file.</param>
15
+ /// <returns>List of parsed LogEntry objects.</returns>
16
+ public List<LogEntry> ParseLogFile(string filePath)
17
+ {
18
+ var logEntries = new List<LogEntry>();
19
+
20
+ if (!File.Exists(filePath))
21
+ {
22
+ Debug.LogError($"Log file not found at path: {filePath}");
23
+ return logEntries;
24
+ }
25
+
26
+ try
27
+ {
28
+ using (var reader = new StreamReader(filePath))
29
+ {
30
+ string line;
31
+ int lineNumber = 0;
32
+
33
+ while ((line = reader.ReadLine()) != null)
34
+ {
35
+ lineNumber++;
36
+
37
+ if (string.IsNullOrWhiteSpace(line))
38
+ {
39
+ // Skip empty lines
40
+ continue;
41
+ }
42
+
43
+ try
44
+ {
45
+ // Parse the JSON line into a LogEntry object
46
+ LogEntry logEntry = JsonUtility.FromJson<LogEntry>(line);
47
+
48
+ // Handle the 'root' field which might not be present in all log entries
49
+ // JsonUtility sets default values for missing fields, so 'root' defaults to false
50
+ // If 'root' is not present, it remains false
51
+ logEntries.Add(logEntry);
52
+ }
53
+ catch (Exception ex)
54
+ {
55
+ Debug.LogWarning($"Failed to parse JSON on line {lineNumber}: {ex.Message}");
56
+ Debug.LogWarning($"Line Content: {line}");
57
+ // Continue parsing the next lines
58
+ }
59
+ }
60
+ }
61
+ }
62
+ catch (Exception ex)
63
+ {
64
+ Debug.LogError($"Error reading the log file: {ex.Message}");
65
+ }
66
+
67
+ return logEntries;
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: a5f90cc4e20339e4ca402adcdeddf55b
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "MooseRunner.Demo.Flow.TestSupport",
3
+ "rootNamespace": "",
4
+ "references": [
5
+ "MooseRunner.Demo.Support",
6
+ "MooseRunner.Runtime"
7
+ ],
8
+ "includePlatforms": [],
9
+ "excludePlatforms": [],
10
+ "allowUnsafeCode": false,
11
+ "precompiledReferences": [],
12
+ "autoReferenced": false,
13
+ "defineConstraints": [],
14
+ "versionDefines": [
15
+ {
16
+ "name": "com.cysharp.unitask",
17
+ "expression": "",
18
+ "define": "UNITASK_PRESENT"
19
+ }
20
+ ],
21
+ "noEngineReferences": false
22
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: bdac841b41f96c2489443d9520437ac0
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,62 @@
1
+ {"timestamp":"2025-01-29T23:01:01.6394068Z","category":"TEST_EXECUTION","root":true,"message":"Starting new test execution"}
2
+ {"timestamp":"2025-01-29T23:01:01.6435008Z","category":"ASSEMBLY_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","message":"Starting assembly"}
3
+ {"timestamp":"2025-01-29T23:01:01.6470835Z","category":"CLASS_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","message":"Starting class"}
4
+ {"timestamp":"2025-01-29T23:01:01.6481101Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncTest","message":"started"}
5
+ {"timestamp":"2025-01-29T23:01:01.6882064Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncTest","message":"finished with status: Passed"}
6
+ {"timestamp":"2025-01-29T23:01:01.6887174Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"started"}
7
+ {"timestamp":"2025-01-29T23:01:01.6994777Z","category":"ERROR","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"Error occurred: System.Exception: ErrorHandelingTest SyncErrorTest: This is a synchronous test that throws an exception.\r\n at ErrorHandelingTest.SyncErrorTest_ShouldFail () [0x00021] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\ErrorHandling\\ErrorHandelingTest.cs:39 \r\n at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)\r\n at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 "}
8
+ {"timestamp":"2025-01-29T23:01:01.7010116Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"finished with status: Failed"}
9
+ {"timestamp":"2025-01-29T23:01:01.7015218Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineTest","message":"started"}
10
+ {"timestamp":"2025-01-29T23:01:01.7434589Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineTest","message":"finished with status: Passed"}
11
+ {"timestamp":"2025-01-29T23:01:01.7439713Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineErrorTest_ShouldFail","message":"started"}
12
+ {"timestamp":"2025-01-29T23:01:01.8434976Z","category":"ERROR","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineErrorTest_ShouldFail","message":"Error occurred: System.Exception: ErrorHandelingTest CoroutineErrorTest_ShouldFail: This is an coroutine test that throws an exception.\r\n at ErrorHandelingTest+<CoroutineErrorTest_ShouldFail>d__5.MoveNext () [0x00075] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\ErrorHandling\\ErrorHandelingTest.cs:59 \r\n at MooseRunner.Internal.Editor.TestHandler+<RunCoroutineWithCallback>d__26.MoveNext () [0x0004c] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\Core\\TestHandler.cs:457 "}
13
+ {"timestamp":"2025-01-29T23:01:01.8440091Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineErrorTest_ShouldFail","message":"finished with status: Failed"}
14
+ {"timestamp":"2025-01-29T23:01:01.8450407Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncTest","message":"started"}
15
+ {"timestamp":"2025-01-29T23:01:02.8494426Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncTest","message":"finished with status: Passed"}
16
+ {"timestamp":"2025-01-29T23:01:02.8499509Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"started"}
17
+ {"timestamp":"2025-01-29T23:01:03.8571092Z","category":"ERROR","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"Error occurred: System.Exception: ErrorHandelingTest AsyncErrorTest_ShouldFail: This is an async test that throws an exception.\r\n at ErrorHandelingTest.AsyncErrorTest_ShouldFail (System.Func`1[TResult] shouldStop) [0x000a5] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\ErrorHandling\\ErrorHandelingTest.cs:81 \r\n at MooseRunner.Internal.Editor.TestHandler.RunAsyncWithCallback (System.Reflection.MethodInfo targetTestMethod, System.Type classType, System.Reflection.MethodInfo method, System.Func`1[TResult] shouldStop, System.Action onComplete) [0x00060] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\Core\\TestHandler.cs:494 "}
18
+ {"timestamp":"2025-01-29T23:01:03.8581989Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"finished with status: Failed"}
19
+ {"timestamp":"2025-01-29T23:01:03.8587105Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"UniTaskTest","message":"started"}
20
+ {"timestamp":"2025-01-29T23:01:04.8627889Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"UniTaskTest","message":"finished with status: Passed"}
21
+ {"timestamp":"2025-01-29T23:01:04.8633000Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"UniTaskErrorTest_ShouldFail","message":"started"}
22
+ {"timestamp":"2025-01-29T23:01:05.8638646Z","category":"ERROR","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"UniTaskErrorTest_ShouldFail","message":"Error occurred: System.Exception: ErrorHandelingTest UniTaskErrorTest_ShouldFail: This is an UniTask test that throws an exception.\r\n at ErrorHandelingTest.UniTaskErrorTest_ShouldFail (System.Func`1[TResult] shouldStop) [0x000b5] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\ErrorHandling\\ErrorHandelingTest.cs:109 \r\n at Cysharp.Threading.Tasks.UniTaskCompletionSourceCore`1[TResult].GetResult (System.Int16 token) [0x00067] in .\\Library\\PackageCache\\com.cysharp.unitask@8042b29ff8\\Runtime\\UniTaskCompletionSource.cs:244 \r\n at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].GetResult (System.Int16 token) [0x00002] in .\\Library\\PackageCache\\com.cysharp.unitask@8042b29ff8\\Runtime\\CompilerServices\\StateMachineRunner.cs:218 \r\n at Cysharp.Threading.Tasks.UniTask+Awaiter.GetResult () [0x00015] in .\\Library\\PackageCache\\com.cysharp.unitask@8042b29ff8\\Runtime\\UniTask.cs:316 \r\n at MooseRunner.Internal.Editor.TestHandler.RunUniTaskWithCallback (System.Reflection.MethodInfo targetTestMethod, System.Type classType, System.Reflection.MethodInfo method, System.Func`1[TResult] shouldStop, System.Action onComplete) [0x00085] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\Core\\TestHandler.cs:525 "}
23
+ {"timestamp":"2025-01-29T23:01:05.8653891Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"UniTaskErrorTest_ShouldFail","message":"finished with status: Failed"}
24
+ {"timestamp":"2025-01-29T23:01:05.8664122Z","category":"ASSEMBLY_START","assembly":"MooseRunner.Demo.Tests","message":"Starting assembly"}
25
+ {"timestamp":"2025-01-29T23:01:05.8699876Z","category":"CLASS_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","message":"Starting class"}
26
+ {"timestamp":"2025-01-29T23:01:05.8720237Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","method":"SyncTest","message":"started"}
27
+ {"timestamp":"2025-01-29T23:01:05.8771197Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","method":"SyncTest","message":"finished with status: Passed"}
28
+ {"timestamp":"2025-01-29T23:01:05.8776330Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","method":"CoroutineTestBaseClass","message":"started"}
29
+ {"timestamp":"2025-01-29T23:01:08.3985649Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","method":"CoroutineTestBaseClass","message":"finished with status: Passed"}
30
+ {"timestamp":"2025-01-29T23:01:08.3995840Z","category":"CLASS_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","message":"Starting class"}
31
+ {"timestamp":"2025-01-29T23:01:08.4006034Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"SyncTest","message":"started"}
32
+ {"timestamp":"2025-01-29T23:01:08.4236903Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"SyncTest","message":"finished with status: Passed"}
33
+ {"timestamp":"2025-01-29T23:01:08.4247109Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"CoroutineTest","message":"started"}
34
+ {"timestamp":"2025-01-29T23:01:10.4228671Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"CoroutineTest","message":"finished with status: Passed"}
35
+ {"timestamp":"2025-01-29T23:01:10.4234307Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"MeasureFixedUpdatePerformance","message":"started"}
36
+ {"timestamp":"2025-01-29T23:01:20.4351523Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"MeasureFixedUpdatePerformance","message":"finished with status: Passed"}
37
+ {"timestamp":"2025-01-29T23:01:20.4361692Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"CoroutineTestBaseClass","message":"started"}
38
+ {"timestamp":"2025-01-29T23:01:22.4588342Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"CoroutineTestBaseClass","message":"finished with status: Passed"}
39
+ {"timestamp":"2025-01-29T23:01:22.4598526Z","category":"CLASS_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","message":"Starting class"}
40
+ {"timestamp":"2025-01-29T23:01:22.4614705Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","method":"SyncTest","message":"started"}
41
+ {"timestamp":"2025-01-29T23:01:22.4655341Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","method":"SyncTest","message":"finished with status: Passed"}
42
+ {"timestamp":"2025-01-29T23:01:22.4660435Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","method":"CoroutineTest","message":"started"}
43
+ {"timestamp":"2025-01-29T23:01:23.4600540Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","method":"CoroutineTest","message":"finished with status: Passed"}
44
+ {"timestamp":"2025-09-23T22:42:25.1239083Z","category":"CLASS_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","message":"Starting class"}
45
+ {"timestamp":"2025-09-23T22:42:25.1249442Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"FirstTest","message":"started"}
46
+ {"timestamp":"2025-09-23T22:42:25.1296768Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"FirstTest","message":"finished with status: Passed"}
47
+ {"timestamp":"2025-09-23T22:42:25.1302014Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"SecondTest","message":"started"}
48
+ {"timestamp":"2025-09-23T22:42:25.1349220Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"SecondTest","message":"finished with status: Passed"}
49
+ {"timestamp":"2025-09-23T22:42:25.1354406Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"CoroutineTest","message":"started"}
50
+ {"timestamp":"2025-09-23T22:42:25.2261919Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"CoroutineTest","message":"finished with status: Passed"}
51
+ {"timestamp":"2025-09-23T22:42:25.5677722Z","category":"ASSEMBLY_START","assembly":"MooseRunner.Demo.RealUseCase","message":"Starting assembly"}
52
+ {"timestamp":"2025-09-23T22:42:25.5723848Z","category":"CLASS_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","message":"Starting class"}
53
+ {"timestamp":"2025-09-23T22:42:25.5728939Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"SpawnAndMoveForward","message":"started"}
54
+ {"timestamp":"2025-09-23T22:42:27.0140795Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"SpawnAndMoveForward","message":"finished with status: Passed"}
55
+ {"timestamp":"2025-09-23T22:42:27.0145916Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestCollisionWithWall","message":"started"}
56
+ {"timestamp":"2025-09-23T22:42:27.4220303Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestCollisionWithWall","message":"finished with status: Passed"}
57
+ {"timestamp":"2025-09-23T22:42:27.4225456Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestFalling","message":"started"}
58
+ {"timestamp":"2025-09-23T22:42:29.4345375Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestFalling","message":"finished with status: Passed"}
59
+ {"timestamp":"2025-09-23T22:42:29.4355619Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestDying","message":"started"}
60
+ {"timestamp":"2025-09-23T22:42:30.8483937Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestDying","message":"finished with status: Passed"}
61
+ {"timestamp":"2025-09-23T22:42:30.8494270Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestBoundaryDetection","message":"started"}
62
+ {"timestamp":"2025-09-23T22:42:31.4630531Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestBoundaryDetection","message":"finished with status: Passed"}
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 7bf8dbc6be6721c40a6f45982df0aea4
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,33 @@
1
+ {"timestamp":"2025-01-15T15:27:10.6320381Z","category":"TEST_EXECUTION","root":true,"message":"Starting new test execution"}
2
+ {"timestamp":"2025-01-15T15:27:10.6375051Z","category":"ASSEMBLY_START","assembly":"MooseRunnerDemoAsmErrorTest","message":"Starting assembly"}
3
+ {"timestamp":"2025-01-15T15:27:10.6422064Z","category":"CLASS_START","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","message":"Starting class"}
4
+ {"timestamp":"2025-01-15T15:27:10.6432125Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"SyncTest","message":"started"}
5
+ {"timestamp":"2025-01-15T15:27:10.6698193Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"SyncTest","message":"finished with status: Passed"}
6
+ {"timestamp":"2025-01-15T15:27:10.6713345Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"started"}
7
+ {"timestamp":"2025-01-15T15:27:10.6844070Z","category":"ERROR","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"Error occurred: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: ErrorHandelingTest SyncErrorTest: This is a synchronous test that throws an exception.\r\n at DummyTestErrorHandelingTest.SyncErrorTest_ShouldFail () [0x0000c] in C:\\Users\\JohanHoltby\\GithubShort\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\Demo2\\DummyTestErrorHandelingTest.cs:30 \r\n at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)\r\n at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 \r\n --- End of inner exception stack trace ---\r\n at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00083] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 \r\n at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 \r\n at MooseRunner.Internal.Editor.TestHandler.InvokeMethod (System.Reflection.MethodInfo targetTestMethod, System.Type classType, System.Reflection.MethodInfo method, UnityEngine.MonoBehaviour testRunner, System.Action onComplete) [0x00035] in C:\\Users\\JohanHoltby\\GithubShort\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\Core\\TestHandler.cs:316 "}
8
+ {"timestamp":"2025-01-15T15:27:10.6884361Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"finished with status: Failed"}
9
+ {"timestamp":"2025-01-15T15:27:10.6899732Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"AsyncTest","message":"started"}
10
+ {"timestamp":"2025-01-15T15:27:11.6231344Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"AsyncTest","message":"finished with status: Passed"}
11
+ {"timestamp":"2025-01-15T15:27:11.6251473Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"started"}
12
+ {"timestamp":"2025-01-15T15:27:12.6255820Z","category":"ERROR","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"Error occurred: System.Exception: ErrorHandelingTest AsyncErrorTest: This is an asynchronous test that throws an exception.\r\n at DummyTestErrorHandelingTest+<AsyncErrorTest_ShouldFail>d__5.MoveNext () [0x0004b] in C:\\Users\\JohanHoltby\\GithubShort\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\Demo2\\DummyTestErrorHandelingTest.cs:46 \r\n at MooseRunner.Internal.Editor.TestHandler+<RunCoroutineWithCallback>d__24.MoveNext () [0x0004c] in C:\\Users\\JohanHoltby\\GithubShort\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\Core\\TestHandler.cs:348 "}
13
+ {"timestamp":"2025-01-15T15:27:12.6275945Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmErrorTest","class":"DummyTestErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"finished with status: Failed"}
14
+ {"timestamp":"2025-01-15T15:27:12.6301312Z","category":"ASSEMBLY_START","assembly":"MooseRunnerDemoAsmTest1","message":"Starting assembly"}
15
+ {"timestamp":"2025-01-15T15:27:12.6386822Z","category":"CLASS_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestBase1","message":"Starting class"}
16
+ {"timestamp":"2025-01-15T15:27:12.6427166Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestBase1","method":"SyncTest","message":"started"}
17
+ {"timestamp":"2025-01-15T15:27:12.6563362Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestBase1","method":"SyncTest","message":"finished with status: Passed"}
18
+ {"timestamp":"2025-01-15T15:27:12.6578441Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestBase1","method":"AsyncTestSetUpBase","message":"started"}
19
+ {"timestamp":"2025-01-15T15:27:19.3929256Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestBase1","method":"AsyncTestSetUpBase","message":"finished with status: Passed"}
20
+ {"timestamp":"2025-01-15T15:27:19.3949603Z","category":"CLASS_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","message":"Starting class"}
21
+ {"timestamp":"2025-01-15T15:27:19.3965155Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","method":"SyncTest","message":"started"}
22
+ {"timestamp":"2025-01-15T15:27:19.4267451Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","method":"SyncTest","message":"finished with status: Passed"}
23
+ {"timestamp":"2025-01-15T15:27:19.4282544Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","method":"AsyncTest","message":"started"}
24
+ {"timestamp":"2025-01-15T15:27:39.4682206Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","method":"AsyncTest","message":"finished with status: Passed"}
25
+ {"timestamp":"2025-01-15T15:27:39.4698999Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","method":"MeasureFixedUpdatePerformance","message":"started"}
26
+ {"timestamp":"2025-01-15T15:27:49.4731927Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","method":"MeasureFixedUpdatePerformance","message":"finished with status: Passed"}
27
+ {"timestamp":"2025-01-15T15:27:49.4746983Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","method":"AsyncTestSetUpBase","message":"started"}
28
+ {"timestamp":"2025-01-15T15:27:56.2073432Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass1","method":"AsyncTestSetUpBase","message":"finished with status: Passed"}
29
+ {"timestamp":"2025-01-15T15:27:56.2083495Z","category":"CLASS_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass2","message":"Starting class"}
30
+ {"timestamp":"2025-01-15T15:27:56.2103923Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass2","method":"SyncTest","message":"started"}
31
+ {"timestamp":"2025-01-15T15:27:56.2159040Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass2","method":"SyncTest","message":"finished with status: Passed"}
32
+ {"timestamp":"2025-01-15T15:27:56.2174110Z","category":"METHOD_START","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass2","method":"AsyncTest","message":"started"}
33
+ {"timestamp":"2025-01-15T15:27:57.2084000Z","category":"METHOD_COMPLETE","assembly":"MooseRunnerDemoAsmTest1","class":"DummyTestClass2","method":"AsyncTest","message":"finished with status: Passed"}
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: cd2ea67258f1f5e4a87ec315f092475d
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,57 @@
1
+ {"timestamp":"2025-01-29T14:15:37.2442966Z","category":"TEST_EXECUTION","root":true,"message":"Starting new test execution"}
2
+ {"timestamp":"2025-01-29T14:15:37.2503273Z","category":"ASSEMBLY_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","message":"Starting assembly"}
3
+ {"timestamp":"2025-01-29T14:15:37.2528551Z","category":"CLASS_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","message":"Starting class"}
4
+ {"timestamp":"2025-01-29T14:15:37.2543608Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncTest","message":"started"}
5
+ {"timestamp":"2025-01-29T14:15:37.2775836Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncTest","message":"finished with status: Passed"}
6
+ {"timestamp":"2025-01-29T14:15:37.2785928Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"started"}
7
+ {"timestamp":"2025-01-29T14:15:37.2888006Z","category":"ERROR","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"Error occurred: System.Exception: ErrorHandelingTest SyncErrorTest: This is a synchronous test that throws an exception.\r\n at ErrorHandelingTest.SyncErrorTest_ShouldFail () [0x00021] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\ErrorHandling\\ErrorHandelingTest.cs:39 \r\n at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)\r\n at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 "}
8
+ {"timestamp":"2025-01-29T14:15:37.2903142Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"SyncErrorTest_ShouldFail","message":"finished with status: Failed"}
9
+ {"timestamp":"2025-01-29T14:15:37.2903142Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineTest","message":"started"}
10
+ {"timestamp":"2025-01-29T14:15:38.2420609Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineTest","message":"finished with status: Passed"}
11
+ {"timestamp":"2025-01-29T14:15:38.2420609Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineErrorTest_ShouldFail","message":"started"}
12
+ {"timestamp":"2025-01-29T14:15:39.2446301Z","category":"ERROR","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineErrorTest_ShouldFail","message":"Error occurred: System.Exception: ErrorHandelingTest CoroutineErrorTest_ShouldFail: This is an coroutine test that throws an exception.\r\n at ErrorHandelingTest+<CoroutineErrorTest_ShouldFail>d__5.MoveNext () [0x00075] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\ErrorHandling\\ErrorHandelingTest.cs:59 \r\n at MooseRunner.Internal.Editor.TestHandler+<RunCoroutineWithCallback>d__26.MoveNext () [0x0004c] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\Core\\TestHandler.cs:457 "}
13
+ {"timestamp":"2025-01-29T14:15:39.2446301Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"CoroutineErrorTest_ShouldFail","message":"finished with status: Failed"}
14
+ {"timestamp":"2025-01-29T14:15:39.2461369Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncTest","message":"started"}
15
+ {"timestamp":"2025-01-29T14:15:40.2527207Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncTest","message":"finished with status: Passed"}
16
+ {"timestamp":"2025-01-29T14:15:40.2527207Z","category":"METHOD_START","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"started"}
17
+ {"timestamp":"2025-01-29T14:15:41.2597019Z","category":"ERROR","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"Error occurred: System.Exception: ErrorHandelingTest AsyncErrorTest_ShouldFail: This is an async test that throws an exception.\r\n at ErrorHandelingTest.AsyncErrorTest_ShouldFail (System.Func`1[TResult] shouldStop) [0x000a5] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\PlayModeDemoTest\\ErrorHandling\\ErrorHandelingTest.cs:81 \r\n at MooseRunner.Internal.Editor.TestHandler.RunAsyncWithCallback (System.Reflection.MethodInfo targetTestMethod, System.Type classType, System.Reflection.MethodInfo method, System.Func`1[TResult] shouldStop, System.Action onComplete) [0x00060] in C:\\Users\\JohanHoltby\\Documents\\GitHub\\SofaSkirmish\\Assets\\MooseRunner\\Editor\\Internal\\Core\\TestHandler.cs:494 "}
18
+ {"timestamp":"2025-01-29T14:15:41.2612139Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.ErrorHandling.Tests","class":"ErrorHandelingTest","method":"AsyncErrorTest_ShouldFail","message":"finished with status: Failed"}
19
+ {"timestamp":"2025-01-29T14:15:41.2612139Z","category":"ASSEMBLY_START","assembly":"MooseRunner.Demo.Tests","message":"Starting assembly"}
20
+ {"timestamp":"2025-01-29T14:15:41.2657426Z","category":"CLASS_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","message":"Starting class"}
21
+ {"timestamp":"2025-01-29T14:15:41.2672571Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","method":"SyncTest","message":"started"}
22
+ {"timestamp":"2025-01-29T14:15:41.2732866Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","method":"SyncTest","message":"finished with status: Passed"}
23
+ {"timestamp":"2025-01-29T14:15:41.2732866Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","method":"CoroutineTestBaseClass","message":"started"}
24
+ {"timestamp":"2025-01-29T14:15:45.7320701Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestBase1","method":"CoroutineTestBaseClass","message":"finished with status: Passed"}
25
+ {"timestamp":"2025-01-29T14:15:45.7335876Z","category":"CLASS_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","message":"Starting class"}
26
+ {"timestamp":"2025-01-29T14:15:45.7350966Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"SyncTest","message":"started"}
27
+ {"timestamp":"2025-01-29T14:15:45.7550021Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"SyncTest","message":"finished with status: Passed"}
28
+ {"timestamp":"2025-01-29T14:15:45.7565067Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"CoroutineTest","message":"started"}
29
+ {"timestamp":"2025-01-29T14:15:49.6404717Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"CoroutineTest","message":"finished with status: Passed"}
30
+ {"timestamp":"2025-01-29T14:15:49.6404717Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"MeasureFixedUpdatePerformance","message":"started"}
31
+ {"timestamp":"2025-01-29T14:15:51.1207397Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"MeasureFixedUpdatePerformance","message":"finished with status: Passed"}
32
+ {"timestamp":"2025-01-29T14:15:51.1212483Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"CoroutineTestBaseClass","message":"started"}
33
+ {"timestamp":"2025-01-29T14:15:53.4583798Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass1","method":"CoroutineTestBaseClass","message":"finished with status: Passed"}
34
+ {"timestamp":"2025-01-29T14:15:53.4583798Z","category":"CLASS_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","message":"Starting class"}
35
+ {"timestamp":"2025-01-29T14:15:53.4599657Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","method":"SyncTest","message":"started"}
36
+ {"timestamp":"2025-01-29T14:15:53.4644884Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","method":"SyncTest","message":"finished with status: Passed"}
37
+ {"timestamp":"2025-01-29T14:15:53.4644884Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","method":"CoroutineTest","message":"started"}
38
+ {"timestamp":"2025-01-29T14:15:53.9858226Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.DummyTestClass2","method":"CoroutineTest","message":"finished with status: Passed"}
39
+ {"timestamp":"2025-09-23T22:42:25.1239083Z","category":"CLASS_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","message":"Starting class"}
40
+ {"timestamp":"2025-09-23T22:42:25.1249442Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"FirstTest","message":"started"}
41
+ {"timestamp":"2025-09-23T22:42:25.1296768Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"FirstTest","message":"finished with status: Passed"}
42
+ {"timestamp":"2025-09-23T22:42:25.1302014Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"SecondTest","message":"started"}
43
+ {"timestamp":"2025-09-23T22:42:25.1349220Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"SecondTest","message":"finished with status: Passed"}
44
+ {"timestamp":"2025-09-23T22:42:25.1354406Z","category":"METHOD_START","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"CoroutineTest","message":"started"}
45
+ {"timestamp":"2025-09-23T22:42:25.2261919Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.Tests","class":"MooseRunner.Internal.Tests.InstanceHandlingVerificationTest","method":"CoroutineTest","message":"finished with status: Passed"}
46
+ {"timestamp":"2025-09-23T22:42:25.5677722Z","category":"ASSEMBLY_START","assembly":"MooseRunner.Demo.RealUseCase","message":"Starting assembly"}
47
+ {"timestamp":"2025-09-23T22:42:25.5723848Z","category":"CLASS_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","message":"Starting class"}
48
+ {"timestamp":"2025-09-23T22:42:25.5728939Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"SpawnAndMoveForward","message":"started"}
49
+ {"timestamp":"2025-09-23T22:42:27.0140795Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"SpawnAndMoveForward","message":"finished with status: Passed"}
50
+ {"timestamp":"2025-09-23T22:42:27.0145916Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestCollisionWithWall","message":"started"}
51
+ {"timestamp":"2025-09-23T22:42:27.4220303Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestCollisionWithWall","message":"finished with status: Passed"}
52
+ {"timestamp":"2025-09-23T22:42:27.4225456Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestFalling","message":"started"}
53
+ {"timestamp":"2025-09-23T22:42:29.4345375Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestFalling","message":"finished with status: Passed"}
54
+ {"timestamp":"2025-09-23T22:42:29.4355619Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestDying","message":"started"}
55
+ {"timestamp":"2025-09-23T22:42:30.8483937Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestDying","message":"finished with status: Passed"}
56
+ {"timestamp":"2025-09-23T22:42:30.8494270Z","category":"METHOD_START","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestBoundaryDetection","message":"started"}
57
+ {"timestamp":"2025-09-23T22:42:31.4630531Z","category":"METHOD_COMPLETE","assembly":"MooseRunner.Demo.RealUseCase","class":"MooseRunner.Internal.Tests.RealUseCaseTest","method":"TestBoundaryDetection","message":"finished with status: Passed"}
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 60e287f44dbf290489ffea3b5a3dc688
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,62 @@
1
+ using System.Collections.Generic;
2
+ using NUnit.Framework;
3
+ using UnityEngine;
4
+
5
+ namespace MooseRunner.Internal.Tests.OrderAttributeDemo
6
+ {
7
+ /// <summary>
8
+ /// Demonstrates NUnit [Order] attribute support for method-level ordering in MooseRunner.
9
+ /// Tests verify that methods within a single fixture execute in the order specified by [Order(n)] attribute.
10
+ /// </summary>
11
+ [TestFixture]
12
+ public class MethodOrderAttributeTests
13
+ {
14
+ private static List<string> _executionOrder = new List<string>();
15
+
16
+ [Test, Order(1)]
17
+ public void Order1_ShouldRunFirst()
18
+ {
19
+ // First test clears any previous state
20
+ _executionOrder.Clear();
21
+ _executionOrder.Add("Order1");
22
+ Debug.Log("[MethodOrderAttributeTests] Order1_ShouldRunFirst executed (cleared list, added Order1)");
23
+ Assert.Pass("Order(1) test executed");
24
+ }
25
+
26
+ [Test, Order(2)]
27
+ public void Order2_ShouldRunSecond()
28
+ {
29
+ _executionOrder.Add("Order2");
30
+ Debug.Log($"[MethodOrderAttributeTests] Order2_ShouldRunSecond executed. List: [{string.Join(", ", _executionOrder)}]");
31
+ Assert.Pass("Order(2) test executed");
32
+ }
33
+
34
+ [Test, Order(3)]
35
+ public void Order3_ShouldRunThird()
36
+ {
37
+ _executionOrder.Add("Order3");
38
+ Debug.Log($"[MethodOrderAttributeTests] Order3_ShouldRunThird executed. List: [{string.Join(", ", _executionOrder)}]");
39
+ Assert.Pass("Order(3) test executed");
40
+ }
41
+
42
+ [Test, Order(100)]
43
+ public void Order100_VerifyMethodExecutionOrder()
44
+ {
45
+ Debug.Log($"[MethodOrderAttributeTests] Verifying execution order: [{string.Join(", ", _executionOrder)}]");
46
+
47
+ Assert.AreEqual(3, _executionOrder.Count,
48
+ $"Expected 3 tests to have executed before this verification test. Actual: {_executionOrder.Count}. List: [{string.Join(", ", _executionOrder)}]");
49
+
50
+ Assert.AreEqual("Order1", _executionOrder[0],
51
+ $"First executed test should be Order1, but was {_executionOrder[0]}");
52
+
53
+ Assert.AreEqual("Order2", _executionOrder[1],
54
+ $"Second executed test should be Order2, but was {_executionOrder[1]}");
55
+
56
+ Assert.AreEqual("Order3", _executionOrder[2],
57
+ $"Third executed test should be Order3, but was {_executionOrder[2]}");
58
+
59
+ Debug.Log("[MethodOrderAttributeTests] Method order verification PASSED - tests executed in correct order: Order1 -> Order2 -> Order3");
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,2 @@
1
+ fileFormatVersion: 2
2
+ guid: 9f9034f09ce15c4409125deaf48d526e
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "MooseRunner.Demo.OrderAttribute",
3
+ "rootNamespace": "",
4
+ "references": [
5
+ "UnityEngine.TestRunner",
6
+ "MooseRunner.Runtime"
7
+ ],
8
+ "includePlatforms": [],
9
+ "excludePlatforms": [],
10
+ "allowUnsafeCode": false,
11
+ "precompiledReferences": [
12
+ "nunit.framework.dll"
13
+ ],
14
+ "autoReferenced": false,
15
+ "defineConstraints": [
16
+ "UNITY_INCLUDE_TESTS"
17
+ ],
18
+ "versionDefines": [],
19
+ "noEngineReferences": false
20
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: c646d0d8fe0edec49a6d5c213817d142
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant: