Files

47 lines
1.9 KiB
C#

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<GameObject>(
"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<CircleCollider2D>();
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));
}
}
}