using BumpCombat.Combat; using BumpCombat.Enemies; using BumpCombat.Player; using NUnit.Framework; using UnityEditor; using UnityEngine; namespace BumpCombat.Tests { public sealed class CombatFeedbackV2EditModeTests { [Test] public void CycloneDefinition_PreservesNormalAndChargedRuntimeTickInputs() { ActiveArtifactDefinition definition = AssetDatabase.LoadAssetAtPath< ActiveArtifactDefinition>( "Assets/_Project/Constants/Artifacts/CycloneArtifact.asset"); Assert.That(definition, Is.Not.Null); Assert.That(definition.Effect, Is.EqualTo(ActiveArtifactEffect.Cyclone)); Assert.That(definition.NormalDamage, Is.EqualTo(6f)); Assert.That(definition.ChargedDamage, Is.EqualTo(8f)); Assert.That(definition.NormalDuration, Is.EqualTo(0.36f).Within(0.0001f)); Assert.That(definition.ChargedDuration, Is.EqualTo(0.65f).Within(0.0001f)); Assert.That(definition.HitInterval, Is.EqualTo(0.14f).Within(0.0001f)); Assert.That(definition.NormalRange, Is.EqualTo(0.85f).Within(0.0001f)); Assert.That(definition.ChargedRange, Is.EqualTo(1.25f).Within(0.0001f)); } [Test] public void NecroGolemPrefab_UsesTheLargePhysicalBodyContract() { GameObject prefab = AssetDatabase.LoadAssetAtPath( "Assets/_Project/Prefabs/Enemies/NecroGolem.prefab"); Assert.That(prefab, Is.Not.Null); Assert.That(prefab.transform.localScale.x, Is.EqualTo(1.25f)); Assert.That(prefab.transform.localScale.y, Is.EqualTo(1.25f)); CircleCollider2D body = prefab.GetComponent(); Assert.That(body, Is.Not.Null); Assert.That(body.radius, Is.EqualTo(0.45f).Within(0.0001f)); Assert.That(body.offset.y, Is.EqualTo(-0.28f).Within(0.0001f)); } } }