From 066b157481611faa2e96150f44ae4c80b3041113 Mon Sep 17 00:00:00 2001 From: "dengchao@xgtl" <2325690622@qq.com> Date: Tue, 26 Jan 2021 10:45:53 +0800 Subject: [PATCH] [#5] Add MethodOverloadTests for each module --- .../org/joor/test/MethodOverloadTests.java | 66 +++++++++++++++++++ .../org/joor/test/MethodOverloadTests.java | 66 +++++++++++++++++++ .../org/joor/test/MethodOverloadTests.java | 66 +++++++++++++++++++ 3 files changed, 198 insertions(+) create mode 100644 jOOR-java-6/src/test/java/org/joor/test/MethodOverloadTests.java create mode 100644 jOOR-java-8/src/test/java/org/joor/test/MethodOverloadTests.java create mode 100644 jOOR/src/test/java/org/joor/test/MethodOverloadTests.java diff --git a/jOOR-java-6/src/test/java/org/joor/test/MethodOverloadTests.java b/jOOR-java-6/src/test/java/org/joor/test/MethodOverloadTests.java new file mode 100644 index 0000000..f5e9458 --- /dev/null +++ b/jOOR-java-6/src/test/java/org/joor/test/MethodOverloadTests.java @@ -0,0 +1,66 @@ +package org.joor.test; + +import org.joor.Reflect; +import org.junit.Assert; +import org.junit.Test; + +public class MethodOverloadTests { + // count each overload invocation + private static int sObject = 0; + private static int sNumber = 0; + private static int sInteger = 0; + private int mObject = 0; + private int mNumber = 0; + private int mInteger = 0; + + private static void sOverload(Object o) { + MethodOverloadTests.sObject++; + } + + private static void sOverload(Number number) { + MethodOverloadTests.sNumber++; + } + + private static void sOverload(Integer integer) { + MethodOverloadTests.sInteger++; + } + + private void mOverload(Object o) { + this.mObject++; + } + + private void mOverload(Number number) { + this.mNumber++; + } + + private void mOverload(Integer integer) { + this.mInteger++; + } + + @Test + public void testStaticMethodsOverload() { + Reflect reflect = Reflect.onClass(MethodOverloadTests.class); + reflect.call("sOverload", Integer.parseInt("1")); + Assert.assertEquals(1, MethodOverloadTests.sInteger); + + reflect.call("sOverload", Long.parseLong("1")); + Assert.assertEquals(1, MethodOverloadTests.sNumber); + + reflect.call("sOverload", "Hello world!"); + Assert.assertEquals(1, MethodOverloadTests.sObject); + } + + @Test + public void testMemberMethodsOverload() { + MethodOverloadTests instance = new MethodOverloadTests(); + Reflect reflect = Reflect.on(instance); + reflect.call("mOverload", Integer.parseInt("1")); + Assert.assertEquals(1, instance.mInteger); + + reflect.call("mOverload", Long.parseLong("1")); + Assert.assertEquals(1, instance.mNumber); + + reflect.call("mOverload", "Hello world!"); + Assert.assertEquals(1, instance.mObject); + } +} diff --git a/jOOR-java-8/src/test/java/org/joor/test/MethodOverloadTests.java b/jOOR-java-8/src/test/java/org/joor/test/MethodOverloadTests.java new file mode 100644 index 0000000..f5e9458 --- /dev/null +++ b/jOOR-java-8/src/test/java/org/joor/test/MethodOverloadTests.java @@ -0,0 +1,66 @@ +package org.joor.test; + +import org.joor.Reflect; +import org.junit.Assert; +import org.junit.Test; + +public class MethodOverloadTests { + // count each overload invocation + private static int sObject = 0; + private static int sNumber = 0; + private static int sInteger = 0; + private int mObject = 0; + private int mNumber = 0; + private int mInteger = 0; + + private static void sOverload(Object o) { + MethodOverloadTests.sObject++; + } + + private static void sOverload(Number number) { + MethodOverloadTests.sNumber++; + } + + private static void sOverload(Integer integer) { + MethodOverloadTests.sInteger++; + } + + private void mOverload(Object o) { + this.mObject++; + } + + private void mOverload(Number number) { + this.mNumber++; + } + + private void mOverload(Integer integer) { + this.mInteger++; + } + + @Test + public void testStaticMethodsOverload() { + Reflect reflect = Reflect.onClass(MethodOverloadTests.class); + reflect.call("sOverload", Integer.parseInt("1")); + Assert.assertEquals(1, MethodOverloadTests.sInteger); + + reflect.call("sOverload", Long.parseLong("1")); + Assert.assertEquals(1, MethodOverloadTests.sNumber); + + reflect.call("sOverload", "Hello world!"); + Assert.assertEquals(1, MethodOverloadTests.sObject); + } + + @Test + public void testMemberMethodsOverload() { + MethodOverloadTests instance = new MethodOverloadTests(); + Reflect reflect = Reflect.on(instance); + reflect.call("mOverload", Integer.parseInt("1")); + Assert.assertEquals(1, instance.mInteger); + + reflect.call("mOverload", Long.parseLong("1")); + Assert.assertEquals(1, instance.mNumber); + + reflect.call("mOverload", "Hello world!"); + Assert.assertEquals(1, instance.mObject); + } +} diff --git a/jOOR/src/test/java/org/joor/test/MethodOverloadTests.java b/jOOR/src/test/java/org/joor/test/MethodOverloadTests.java new file mode 100644 index 0000000..f5e9458 --- /dev/null +++ b/jOOR/src/test/java/org/joor/test/MethodOverloadTests.java @@ -0,0 +1,66 @@ +package org.joor.test; + +import org.joor.Reflect; +import org.junit.Assert; +import org.junit.Test; + +public class MethodOverloadTests { + // count each overload invocation + private static int sObject = 0; + private static int sNumber = 0; + private static int sInteger = 0; + private int mObject = 0; + private int mNumber = 0; + private int mInteger = 0; + + private static void sOverload(Object o) { + MethodOverloadTests.sObject++; + } + + private static void sOverload(Number number) { + MethodOverloadTests.sNumber++; + } + + private static void sOverload(Integer integer) { + MethodOverloadTests.sInteger++; + } + + private void mOverload(Object o) { + this.mObject++; + } + + private void mOverload(Number number) { + this.mNumber++; + } + + private void mOverload(Integer integer) { + this.mInteger++; + } + + @Test + public void testStaticMethodsOverload() { + Reflect reflect = Reflect.onClass(MethodOverloadTests.class); + reflect.call("sOverload", Integer.parseInt("1")); + Assert.assertEquals(1, MethodOverloadTests.sInteger); + + reflect.call("sOverload", Long.parseLong("1")); + Assert.assertEquals(1, MethodOverloadTests.sNumber); + + reflect.call("sOverload", "Hello world!"); + Assert.assertEquals(1, MethodOverloadTests.sObject); + } + + @Test + public void testMemberMethodsOverload() { + MethodOverloadTests instance = new MethodOverloadTests(); + Reflect reflect = Reflect.on(instance); + reflect.call("mOverload", Integer.parseInt("1")); + Assert.assertEquals(1, instance.mInteger); + + reflect.call("mOverload", Long.parseLong("1")); + Assert.assertEquals(1, instance.mNumber); + + reflect.call("mOverload", "Hello world!"); + Assert.assertEquals(1, instance.mObject); + } +}