From f45efa4023825acdd77da0abc52fa7cf75323a68 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 7 Jul 2026 23:15:00 +0000 Subject: [PATCH] [Tests] Add remaining branch coverage gaps for ManagerRegistry and Methods.lookAt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Address review feedback from PR #59 persona audit: - ManagerRegistry: add tests for registered(Manager) and registered(ManagerKey) with non-matching entries to exercise the loop-body → false path - Methods.lookAt: add test for dx=0/dz>0 branch (positive Z, same X) asserting both yaw=0 and pitch=0 Co-Authored-By: Claude Opus 4.6 Claude-Session: https://claude.ai/code/session_014PUN8sfRgFi1k1nPoyjGqm --- .../registry/manager/ManagerRegistryTest.java | 14 ++++++++++++++ .../diamonddagger590/mccore/util/MethodsTest.java | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/src/test/java/com/diamonddagger590/mccore/registry/manager/ManagerRegistryTest.java b/src/test/java/com/diamonddagger590/mccore/registry/manager/ManagerRegistryTest.java index cc41d02..7a81329 100644 --- a/src/test/java/com/diamonddagger590/mccore/registry/manager/ManagerRegistryTest.java +++ b/src/test/java/com/diamonddagger590/mccore/registry/manager/ManagerRegistryTest.java @@ -147,4 +147,18 @@ void registered_returnsTrue_whenSubclassInstanceRegisteredAndCheckedBySubclassIn registry().register(subManager); assertTrue(registry().registered(new TestManagerASub())); } + + @Test + @DisplayName("Given only a different manager registered, when checking registered by instance, then returns false") + void registered_returnsFalse_whenOnlyNonMatchingManagerRegistered() { + registry().register(new TestManagerB()); + assertFalse(registry().registered(new TestManagerA())); + } + + @Test + @DisplayName("Given only a different manager registered, when checking registered by key, then returns false") + void registered_returnsFalse_whenOnlyNonMatchingManagerRegisteredByKey() { + registry().register(new TestManagerB()); + assertFalse(registry().registered(KEY_A)); + } } diff --git a/src/test/java/com/diamonddagger590/mccore/util/MethodsTest.java b/src/test/java/com/diamonddagger590/mccore/util/MethodsTest.java index bb69e21..987335d 100644 --- a/src/test/java/com/diamonddagger590/mccore/util/MethodsTest.java +++ b/src/test/java/com/diamonddagger590/mccore/util/MethodsTest.java @@ -726,6 +726,15 @@ void lookAt_returnsNonInfiniteValues_whenTargetIsSamePosition() { assertFalse(Float.isInfinite(result.getPitch()), "Pitch should not be infinite"); } + @Test + @DisplayName("Given target on positive Z with same X, when calculating lookAt, then yaw is zero and pitch is near zero") + void lookAt_setsYawToZero_whenTargetIsOnPositiveZWithSameX() { + org.bukkit.Location origin = new org.bukkit.Location(null, 0, 0, 0); + org.bukkit.Location target = new org.bukkit.Location(null, 0, 0, 10); + org.bukkit.Location result = Methods.lookAt(origin, target); + assertEquals(0.0, result.getYaw(), 0.01); + assertEquals(0.0, result.getPitch(), 0.01); + } // ── getMinecraftKey ─────────────────────────────────────────────────────