From 2f07ac182221ee3792adadfe9e648f9af65dd958 Mon Sep 17 00:00:00 2001 From: tueem Date: Wed, 9 Apr 2025 17:02:55 +0200 Subject: [PATCH] feat(test): add Tests for ReflectedMethod and BestCandidateMethod --- .../tomatentum/cutin/ReflectedMethodTest.java | 26 +++++++++++++++ .../net/tomatentum/cutin/TestMethodClass.java | 18 +++++++++++ .../tomatentum/cutin/TestReflectedMethod.java | 32 +++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 lib/src/test/java/net/tomatentum/cutin/ReflectedMethodTest.java create mode 100644 lib/src/test/java/net/tomatentum/cutin/TestMethodClass.java create mode 100644 lib/src/test/java/net/tomatentum/cutin/TestReflectedMethod.java diff --git a/lib/src/test/java/net/tomatentum/cutin/ReflectedMethodTest.java b/lib/src/test/java/net/tomatentum/cutin/ReflectedMethodTest.java new file mode 100644 index 0000000..18076f6 --- /dev/null +++ b/lib/src/test/java/net/tomatentum/cutin/ReflectedMethodTest.java @@ -0,0 +1,26 @@ +package net.tomatentum.cutin; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +class ReflectedMethodTest { + + @Test + void methodTest() { + ReflectedMethod method = new TestReflectedMethod(new TestMethodClass()); + Object result = method.run("testContext"); + assertTrue((boolean)result); + } + + @Test + void testBCMethod() { + ReflectedMethod method = new BestCandidateMethod( + "test", + new TestMethodClass(), + "ident", + "testString"); + Object result = method.run((double)4); + assertTrue((boolean)result); + } +} diff --git a/lib/src/test/java/net/tomatentum/cutin/TestMethodClass.java b/lib/src/test/java/net/tomatentum/cutin/TestMethodClass.java new file mode 100644 index 0000000..1fa8779 --- /dev/null +++ b/lib/src/test/java/net/tomatentum/cutin/TestMethodClass.java @@ -0,0 +1,18 @@ +package net.tomatentum.cutin; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TestMethodClass { + + boolean test(String context, int testNumber) { + assertEquals("testContext", context); + assertEquals(2, testNumber); + return true; + } + + boolean test(double context, String testString) { + assertEquals(4, context); + assertEquals("testString", testString); + return true; + } +} diff --git a/lib/src/test/java/net/tomatentum/cutin/TestReflectedMethod.java b/lib/src/test/java/net/tomatentum/cutin/TestReflectedMethod.java new file mode 100644 index 0000000..efee2eb --- /dev/null +++ b/lib/src/test/java/net/tomatentum/cutin/TestReflectedMethod.java @@ -0,0 +1,32 @@ +package net.tomatentum.cutin; + +import java.lang.reflect.Method; + +public class TestReflectedMethod extends ReflectedMethod { + + protected TestReflectedMethod(Object containingObject) { + super(getMethod(containingObject), containingObject); + + } + + @Override + public Object getParameter(Object context, int index) { + return 2; + } + + @Override + public String identifier() { + return method().getName(); + } + + private static Method getMethod(Object containingObject) { + try { + return containingObject.getClass().getDeclaredMethod("test", String.class, int.class); + } catch (NoSuchMethodException | SecurityException e) { + e.printStackTrace(); + } + + return null; + } + +}