test that heroes are tracked by the party
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				ci/woodpecker/push/woodpecker Pipeline was successful
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	ci/woodpecker/push/woodpecker Pipeline was successful
				
			This commit is contained in:
		| @@ -12,4 +12,5 @@ public class HeroPartySO : ScriptableObject | ||||
| 
 | ||||
|     public void Add(HeroUnit unit) { unitList.Add(unit); } | ||||
|     public void Remove(HeroUnit unit) { unitList.Remove(unit); } | ||||
|     public int Count => unitList.Count; | ||||
| } | ||||
|   | ||||
| @@ -2,6 +2,9 @@ using System.Collections; | ||||
| using System.Collections.Generic; | ||||
| using UnityEngine; | ||||
| 
 | ||||
| using System.Runtime.CompilerServices; | ||||
| [assembly: InternalsVisibleTo("TestsPlaymode")] | ||||
| 
 | ||||
| /// <summary> | ||||
| /// Component that makes a duder a duder. | ||||
| /// Manages class, skills, level, attrs, and AI. | ||||
| @@ -25,4 +28,9 @@ public class HeroUnit : MonoBehaviour | ||||
|     { | ||||
|         party.Remove(this); | ||||
|     } | ||||
| 
 | ||||
|     internal HeroPartySO getParty() | ||||
|     { | ||||
|         return party; | ||||
|     } | ||||
| } | ||||
|   | ||||
							
								
								
									
										8
									
								
								Assets/TestsPlaymode.meta
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								Assets/TestsPlaymode.meta
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| fileFormatVersion: 2 | ||||
| guid: 761a28b9566afe848955bfe8200ff125 | ||||
| folderAsset: yes | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
							
								
								
									
										24
									
								
								Assets/TestsPlaymode/HeroPartyTest.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Assets/TestsPlaymode/HeroPartyTest.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| using System.Collections; | ||||
| using System.Collections.Generic; | ||||
| using NUnit.Framework; | ||||
| using UnityEditor; | ||||
| using UnityEngine; | ||||
| using UnityEngine.TestTools; | ||||
| 
 | ||||
| public class HeroPartyTest | ||||
| { | ||||
|     [UnityTest] | ||||
|     public IEnumerator HeroPartyGetsAllTheHeroes() | ||||
|     { | ||||
|         var prefab = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Prefabs/Hero.prefab"); | ||||
|         Assert.IsNotNull(prefab); | ||||
|         var instance = Object.Instantiate(prefab); | ||||
|         var hero = instance.GetComponent<HeroUnit>(); | ||||
|         var party = hero.getParty(); | ||||
|         yield return null; | ||||
|         Assert.AreEqual(1, party.Count); | ||||
|         Object.Destroy(instance); | ||||
|         yield return null; | ||||
|         Assert.IsEmpty(party.UnitList); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										11
									
								
								Assets/TestsPlaymode/HeroPartyTest.cs.meta
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Assets/TestsPlaymode/HeroPartyTest.cs.meta
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| fileFormatVersion: 2 | ||||
| guid: 12e575ff764956245a428c77cced4e48 | ||||
| MonoImporter: | ||||
|   externalObjects: {} | ||||
|   serializedVersion: 2 | ||||
|   defaultReferences: [] | ||||
|   executionOrder: 0 | ||||
|   icon: {instanceID: 0} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
							
								
								
									
										22
									
								
								Assets/TestsPlaymode/TestsPlaymode.asmdef
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Assets/TestsPlaymode/TestsPlaymode.asmdef
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| { | ||||
|     "name": "TestsPlaymode", | ||||
|     "rootNamespace": "", | ||||
|     "references": [ | ||||
|         "UnityEngine.TestRunner", | ||||
|         "UnityEditor.TestRunner", | ||||
|         "IdleSurvivors" | ||||
|     ], | ||||
|     "includePlatforms": [], | ||||
|     "excludePlatforms": [], | ||||
|     "allowUnsafeCode": false, | ||||
|     "overrideReferences": true, | ||||
|     "precompiledReferences": [ | ||||
|         "nunit.framework.dll" | ||||
|     ], | ||||
|     "autoReferenced": false, | ||||
|     "defineConstraints": [ | ||||
|         "UNITY_INCLUDE_TESTS" | ||||
|     ], | ||||
|     "versionDefines": [], | ||||
|     "noEngineReferences": false | ||||
| } | ||||
							
								
								
									
										7
									
								
								Assets/TestsPlaymode/TestsPlaymode.asmdef.meta
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Assets/TestsPlaymode/TestsPlaymode.asmdef.meta
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| fileFormatVersion: 2 | ||||
| guid: da0ac170c269d9342b202cf3000da737 | ||||
| AssemblyDefinitionImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
							
								
								
									
										121
									
								
								ProjectSettings/SceneTemplateSettings.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								ProjectSettings/SceneTemplateSettings.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,121 @@ | ||||
| { | ||||
|     "templatePinStates": [], | ||||
|     "dependencyTypeInfos": [ | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.AnimationClip", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEditor.Animations.AnimatorController", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.AnimatorOverrideController", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEditor.Audio.AudioMixerController", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.ComputeShader", | ||||
|             "defaultInstantiationMode": 1 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Cubemap", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.GameObject", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEditor.LightingDataAsset", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.LightingSettings", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Material", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEditor.MonoScript", | ||||
|             "defaultInstantiationMode": 1 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.PhysicMaterial", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.PhysicsMaterial2D", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Rendering.VolumeProfile", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEditor.SceneAsset", | ||||
|             "defaultInstantiationMode": 1 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Shader", | ||||
|             "defaultInstantiationMode": 1 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.ShaderVariantCollection", | ||||
|             "defaultInstantiationMode": 1 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Texture", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Texture2D", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         }, | ||||
|         { | ||||
|             "userAdded": false, | ||||
|             "type": "UnityEngine.Timeline.TimelineAsset", | ||||
|             "defaultInstantiationMode": 0 | ||||
|         } | ||||
|     ], | ||||
|     "defaultDependencyTypeInfo": { | ||||
|         "userAdded": false, | ||||
|         "type": "<default_scene_template_dependencies>", | ||||
|         "defaultInstantiationMode": 1 | ||||
|     }, | ||||
|     "newSceneOverride": 0 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user