From 96b4fa719706b88b9096fadb0601eba6b807da10 Mon Sep 17 00:00:00 2001 From: Minimata Date: Sun, 22 Feb 2026 16:06:04 +0100 Subject: [PATCH] trying to fix CI --- .gitea/workflows/main.yaml | 3 +- Movement tests.sln.DotSettings.user | 1 + tests/components/DamageComponentUnitTest.cs | 86 ++++++++++++++----- tests/components/HealthComponentUnitTest.cs | 1 - .../components/KnockbackComponentUnitTest.cs | 5 +- tests/components/MovementSystemUnitTest.cs | 6 +- tests/enemies/EnemyUnitTest.cs | 52 +---------- 7 files changed, 74 insertions(+), 80 deletions(-) diff --git a/.gitea/workflows/main.yaml b/.gitea/workflows/main.yaml index 3757cbe2..251c182b 100644 --- a/.gitea/workflows/main.yaml +++ b/.gitea/workflows/main.yaml @@ -55,10 +55,9 @@ jobs: dotnet-version: 'net9.0' paths: | res://tests/ - timeout: 1 publish-report: false upload-report: false - arguments: "--verbose --headless --import" + arguments: "--verbose --headless" - name: Upload test report uses: actions/upload-artifact@v3-node20 diff --git a/Movement tests.sln.DotSettings.user b/Movement tests.sln.DotSettings.user index f3230b19..f6ec7833 100644 --- a/Movement tests.sln.DotSettings.user +++ b/Movement tests.sln.DotSettings.user @@ -6,6 +6,7 @@ ForceIncluded ForceIncluded + <SessionState ContinuousTestingMode="0" IsActive="True" Name="All tests from Solution" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"> <Solution /> </SessionState> diff --git a/tests/components/DamageComponentUnitTest.cs b/tests/components/DamageComponentUnitTest.cs index 7baeaabd..984a78c0 100644 --- a/tests/components/DamageComponentUnitTest.cs +++ b/tests/components/DamageComponentUnitTest.cs @@ -10,50 +10,92 @@ namespace Movementtests.tests; public class DamageComponentUnitTest { [TestCase] - public void DamageModifier_Applies_WhenTypeMatches() + public void DamageModifierAppliesWhenTypeMatches() { + var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); var modifier = new RDamageModifier(EDamageTypes.Normal, 2.0f); - var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); - + var signalTriggered = false; + modifier.DamageTaken += (_, _) => signalTriggered = true; + var result = modifier.TakeDamage(input); + AssertFloat(result.Damage.DamageDealt).IsEqual(20.0f); + AssertBool(signalTriggered).IsTrue(); } [TestCase] - public void DamageModifier_Ignores_WhenTypeDifferent() + public void DamageModifierIgnoresWhenTypeDifferent() { - var modifier = new RDamageModifier(EDamageTypes.Fire, 3.0f); var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); - + var modifier = new RDamageModifier(EDamageTypes.Fire, 3.0f); + var signalTriggered = false; + modifier.DamageTaken += (_, _) => signalTriggered = true; + var result = modifier.TakeDamage(input); + AssertFloat(result.Damage.DamageDealt).IsEqual(0.0f); + AssertBool(signalTriggered).IsFalse(); // No damage actually taken } [TestCase] - public void CDamageable_Sums_All_Modifiers() + public void DamageableSumsAllModifiers() + { + var mod1 = new RDamageModifier(EDamageTypes.Normal, 1.0f); + var mod2 = new RDamageModifier(EDamageTypes.Normal, 0.5f); + + var damageable = new CDamageable(); + damageable.DamageModifiers = new[] { mod1, mod2 }; + var signalTriggered = false; + damageable.DamageTaken += (_, _) => signalTriggered = true; + + var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); + var result = damageable.TakeDamage(input); + + AssertFloat(result.Damage.DamageDealt).IsEqual(15.0f); + AssertBool(signalTriggered).IsTrue(); + } + + [TestCase] + public void ComputeDamageModifierAppliesWhenTypeMatches() + { + var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); + var modifier = new RDamageModifier(EDamageTypes.Normal, 2.0f); + var signalTriggered = false; + modifier.DamageTaken += (_, _) => signalTriggered = true; + + var result = modifier.ComputeDamage(input); + + AssertFloat(result.Damage.DamageDealt).IsEqual(20.0f); + AssertBool(signalTriggered).IsFalse(); + } + [TestCase] + public void ComputeDamageModifierIgnoresWhenTypeDifferent() + { + var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); + var modifier = new RDamageModifier(EDamageTypes.Fire, 3.0f); + var signalTriggered = false; + modifier.DamageTaken += (_, _) => signalTriggered = true; + + var result = modifier.ComputeDamage(input); + + AssertFloat(result.Damage.DamageDealt).IsEqual(0.0f); + AssertBool(signalTriggered).IsFalse(); + } + [TestCase] + public void ComputeDamageableSumsAllModifiers() { var mod1 = new RDamageModifier(EDamageTypes.Normal, 1.0f); var mod2 = new RDamageModifier(EDamageTypes.Normal, 0.5f); var cDamageable = new CDamageable(); cDamageable.DamageModifiers = new[] { mod1, mod2 }; + var signalTriggered = false; + cDamageable.DamageTaken += (_, _) => signalTriggered = true; var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); - var result = cDamageable.TakeDamage(input); - - // 10*1.0 + 10*0.5 = 15 - AssertFloat(result.Damage.DamageDealt).IsEqual(15.0f); - } - - [TestCase] - public void CDamageable_ComputeDamage_DoesNotEmit() - { - var mod = new RDamageModifier(EDamageTypes.Normal, 2.0f); - var cDamageable = new CDamageable(); - cDamageable.DamageModifiers = new[] { mod }; - - var input = new DamageRecord(Vector3.Zero, new RDamage(5.0f, EDamageTypes.Normal)); var result = cDamageable.ComputeDamage(input); - AssertFloat(result.Damage.DamageDealt).IsEqual(10.0f); + + AssertFloat(result.Damage.DamageDealt).IsEqual(15.0f); + AssertBool(signalTriggered).IsFalse(); } } diff --git a/tests/components/HealthComponentUnitTest.cs b/tests/components/HealthComponentUnitTest.cs index c054ccd9..63d1cb0e 100644 --- a/tests/components/HealthComponentUnitTest.cs +++ b/tests/components/HealthComponentUnitTest.cs @@ -14,7 +14,6 @@ public class HealthComponentUnitTest { var cHealth = new CHealth(); cHealth.RHealth = new RHealth(150.0f); - // Simulate Godot ready cHealth._Ready(); AssertFloat(cHealth.CurrentHealth).IsEqual(150.0f); } diff --git a/tests/components/KnockbackComponentUnitTest.cs b/tests/components/KnockbackComponentUnitTest.cs index 71ed316d..605d7f75 100644 --- a/tests/components/KnockbackComponentUnitTest.cs +++ b/tests/components/KnockbackComponentUnitTest.cs @@ -2,6 +2,7 @@ using Godot; using GdUnit4; using static GdUnit4.Assertions; using Movementtests.interfaces; +using Movementtests.systems.damage; namespace Movementtests.tests; @@ -9,13 +10,13 @@ namespace Movementtests.tests; public class KnockbackComponentUnitTest { [TestCase] - public void RegisterAndComputeKnockback_Works_And_Resets() + public void RegisterAndComputeKnockback() { var cKnock = new CKnockback(); cKnock.RKnockback = new RKnockback(2.0f); cKnock.GlobalPosition = Vector3.Zero; - var damage = new DamageRecord(new Vector3(10, 0, 0), new RDamage(0, Movementtests.systems.damage.EDamageTypes.Normal)); + var damage = new DamageRecord(new Vector3(10, 0, 0), new RDamage(0, EDamageTypes.Normal)); var record = new KnockbackRecord(damage, 1.5f); cKnock.RegisterKnockback(record); diff --git a/tests/components/MovementSystemUnitTest.cs b/tests/components/MovementSystemUnitTest.cs index fc172e23..4e075eef 100644 --- a/tests/components/MovementSystemUnitTest.cs +++ b/tests/components/MovementSystemUnitTest.cs @@ -10,12 +10,12 @@ namespace Movementtests.tests; public class MovementSystemUnitTest { [TestCase] - public void GroundedMovement_Accelerates_And_Applies_Gravity() + public void GroundedMovementAcceleratesAndAppliesGravity() { var move = new CGroundedMovement(); move.RMovement = new RMovement(speed: 10.0f, acceleration: 1.0f, gravityModifier: 0.5f, targetHeight: 0.0f); move.WallInFrontRayCast = new RayCast3D(); - move.GlobalPosition = Vector3.Zero; + //move.GlobalPosition = Vector3.Zero; var inputs = new MovementInputs( Velocity: Vector3.Zero, @@ -27,6 +27,6 @@ public class MovementSystemUnitTest var v = move.ComputeVelocity(inputs); - AssertVector(v).IsEqualApprox(new Vector3(10, -4.9f, 0), new Vector3(0.0001f, 0.0001f, 0.0001f)); + AssertVector(v).IsEqualApprox(new Vector3(10, -4.9f, 0), new Vector3(0.001f, 0.001f, 0.001f)); } } diff --git a/tests/enemies/EnemyUnitTest.cs b/tests/enemies/EnemyUnitTest.cs index dcdcc598..cbd73410 100644 --- a/tests/enemies/EnemyUnitTest.cs +++ b/tests/enemies/EnemyUnitTest.cs @@ -10,7 +10,7 @@ namespace Movementtests.tests; public class EnemyUnitTest { [TestCase] - public void ComputeDamage_NoComponent_ReturnsZero() + public void ComputeDamageNoComponent() { var enemy = new Enemy(); var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); @@ -20,55 +20,7 @@ public class EnemyUnitTest } [TestCase] - public void TakeDamage_WithCDamageable_AggregatesDamage() - { - var enemy = new Enemy(); - var cDamage = new CDamageable(); - cDamage.DamageModifiers = new[] - { - new RDamageModifier(EDamageTypes.Normal, 1.0f), - new RDamageModifier(EDamageTypes.Normal, 2.0f) - }; - enemy.CDamageable = cDamage; - - var input = new DamageRecord(Vector3.Zero, new RDamage(10.0f, EDamageTypes.Normal)); - var result = enemy.TakeDamage(input); - AssertFloat(result.Damage.DamageDealt).IsEqual(30.0f); - } - - [TestCase] - public void ReduceHealth_WithCHealth_Decreases() - { - var enemy = new Enemy(); - var health = new CHealth { RHealth = new RHealth(100.0f), CurrentHealth = 100.0f }; - enemy.CHealth = health; - - var input = new DamageRecord(Vector3.Zero, new RDamage(25.0f, EDamageTypes.Normal)); - var record = enemy.ReduceHealth(enemy, input); - - AssertFloat(health.CurrentHealth).IsEqual(75.0f); - AssertFloat(record.CurrentHealth).IsEqual(75.0f); - } - - [TestCase] - public void Knockback_Register_And_Compute() - { - var enemy = new Enemy(); - var cKnock = new CKnockback { RKnockback = new RKnockback(1.0f) }; - enemy.CKnockback = cKnock; - enemy.GlobalPosition = Vector3.Zero; - cKnock.GlobalPosition = Vector3.Zero; - - var dmg = new DamageRecord(new Vector3(5, 0, 0), new RDamage(0, EDamageTypes.Normal)); - var krec = new KnockbackRecord(dmg, 2.0f); - enemy.RegisterKnockback(krec); - - var k = enemy.ComputeKnockback(); - AssertVector(k).IsEqual(new Vector3(-2, 0, 0)); - } - - [TestCase] - public void Unstun_ResetsFlag() + public void Unstun() { var enemy = new Enemy(); enemy.IsStunned = true;