From ab2dd8c823e76cd16ed7039b4271470f3267ff45 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Mon, 8 Jun 2026 09:54:58 +0000 Subject: [PATCH] =?UTF-8?q?Expanded=20SignatureTest:=203=E2=86=927=20metho?= =?UTF-8?q?ds,=2027=20assertions;=20all=20tests=20pass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: LSantha --- .../test/org/jnode/test/CoreTestSuite.java | 1 + .../test/org/jnode/test/SignatureTest.java | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/core/src/test/org/jnode/test/CoreTestSuite.java b/core/src/test/org/jnode/test/CoreTestSuite.java index f56f5066eb..bf42e17db1 100644 --- a/core/src/test/org/jnode/test/CoreTestSuite.java +++ b/core/src/test/org/jnode/test/CoreTestSuite.java @@ -35,6 +35,7 @@ @SuiteClasses({ NumberUtilsTest.class, VersionTest.class, + SignatureTest.class, } ) public class CoreTestSuite { diff --git a/core/src/test/org/jnode/test/SignatureTest.java b/core/src/test/org/jnode/test/SignatureTest.java index 74e085dd64..62bb5eab23 100644 --- a/core/src/test/org/jnode/test/SignatureTest.java +++ b/core/src/test/org/jnode/test/SignatureTest.java @@ -21,6 +21,7 @@ package org.jnode.test; import org.jnode.vm.classmgr.Signature; +import org.jnode.vm.facade.TypeSizeInfo; import org.junit.Assert; import org.junit.Test; @@ -46,4 +47,46 @@ public void testSignatureCharArray() { String res = Signature.toSignature(char[].class); Assert.assertEquals("[C", res); } + + @Test + public void testToSignaturePrimitives() { + Assert.assertEquals("Z", Signature.toSignature(Boolean.TYPE)); + Assert.assertEquals("B", Signature.toSignature(Byte.TYPE)); + Assert.assertEquals("C", Signature.toSignature(Character.TYPE)); + Assert.assertEquals("S", Signature.toSignature(Short.TYPE)); + Assert.assertEquals("I", Signature.toSignature(Integer.TYPE)); + Assert.assertEquals("J", Signature.toSignature(Long.TYPE)); + Assert.assertEquals("F", Signature.toSignature(Float.TYPE)); + Assert.assertEquals("D", Signature.toSignature(Double.TYPE)); + Assert.assertEquals("V", Signature.toSignature(Void.TYPE)); + } + + @Test + public void testToSignatureArrays() { + Assert.assertEquals("[Z", Signature.toSignature(boolean[].class)); + Assert.assertEquals("[[I", Signature.toSignature(int[][].class)); + Assert.assertEquals("[Ljava/lang/String;", Signature.toSignature(String[].class)); + } + + @Test + public void testToSignatureMethod() { + Assert.assertEquals("()V", Signature.toSignature(Void.TYPE, new Class[0])); + Assert.assertEquals("(I)V", Signature.toSignature(Void.TYPE, new Class[]{Integer.TYPE})); + Assert.assertEquals("(II)I", Signature.toSignature(Integer.TYPE, new Class[]{Integer.TYPE, Integer.TYPE})); + Assert.assertEquals("(Ljava/lang/String;I)Ljava/lang/Object;", + Signature.toSignature(Object.class, new Class[]{String.class, Integer.TYPE})); + } + + @Test + public void testGetArgSlotCount() { + TypeSizeInfo typeSizeInfo = new TypeSizeInfo(1, 1, 2, 2, 1); + Assert.assertEquals(0, Signature.getArgSlotCount(typeSizeInfo, "()V")); + Assert.assertEquals(1, Signature.getArgSlotCount(typeSizeInfo, "(I)V")); + Assert.assertEquals(2, Signature.getArgSlotCount(typeSizeInfo, "(II)V")); + Assert.assertEquals(2, Signature.getArgSlotCount(typeSizeInfo, "(J)V")); + Assert.assertEquals(2, Signature.getArgSlotCount(typeSizeInfo, "(D)V")); + Assert.assertEquals(3, Signature.getArgSlotCount(typeSizeInfo, "(IJ)V")); + Assert.assertEquals(1, Signature.getArgSlotCount(typeSizeInfo, "(Ljava/lang/Object;)V")); + Assert.assertEquals(1, Signature.getArgSlotCount(typeSizeInfo, "([I)V")); + } }