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 Add(HeroUnit unit) { unitList.Add(unit); } | ||||||
|     public void Remove(HeroUnit unit) { unitList.Remove(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 System.Collections.Generic; | ||||||
| using UnityEngine; | using UnityEngine; | ||||||
| 
 | 
 | ||||||
|  | using System.Runtime.CompilerServices; | ||||||
|  | [assembly: InternalsVisibleTo("TestsPlaymode")] | ||||||
|  | 
 | ||||||
| /// <summary> | /// <summary> | ||||||
| /// Component that makes a duder a duder. | /// Component that makes a duder a duder. | ||||||
| /// Manages class, skills, level, attrs, and AI. | /// Manages class, skills, level, attrs, and AI. | ||||||
| @@ -25,4 +28,9 @@ public class HeroUnit : MonoBehaviour | |||||||
|     { |     { | ||||||
|         party.Remove(this); |         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