47 lines
1.9 KiB
C#
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));
|
|
}
|
|
}
|
|
}
|