From ec64bc64695a70788be4528622b5e9e353d5a430 Mon Sep 17 00:00:00 2001 From: memory-agape Date: Thu, 4 Apr 2019 23:24:22 +0900 Subject: [PATCH] Add imitation decrementExact to java.lang.Math --- src/Imitation/java/lang/Math.php | 12 +++++++++ tests/ImitateJavaLangMathTest.php | 27 +++++++++++++++++++ .../java/ImitateJavaLangMathTest.java | 7 +++++ 3 files changed, 46 insertions(+) create mode 100644 tests/ImitateJavaLangMathTest.php create mode 100644 tests/fixtures/java/ImitateJavaLangMathTest.java diff --git a/src/Imitation/java/lang/Math.php b/src/Imitation/java/lang/Math.php index c0df91dd..575cb28e 100644 --- a/src/Imitation/java/lang/Math.php +++ b/src/Imitation/java/lang/Math.php @@ -16,4 +16,16 @@ public static function abs($number) { return abs($number); } + + /** + * This decrease 1 from parameters + * + * @see https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Math.html#decrementExact-int- + * @param int $a + * @return int + */ + public static function decrementExact($a) + { + return $a - 1; + } } diff --git a/tests/ImitateJavaLangMathTest.php b/tests/ImitateJavaLangMathTest.php new file mode 100644 index 00000000..c7c8b9ea --- /dev/null +++ b/tests/ImitateJavaLangMathTest.php @@ -0,0 +1,27 @@ +initiatedJavaClasses['ImitateJavaLangMathTest'] + ->getInvoker() + ->getStatic() + ->getMethods() + ->call( + 'decrementExact', + 1234 + ); + $value = (int) ob_get_clean(); + $this->assertEquals(1233, $value); + } +} diff --git a/tests/fixtures/java/ImitateJavaLangMathTest.java b/tests/fixtures/java/ImitateJavaLangMathTest.java new file mode 100644 index 00000000..ea6e220d --- /dev/null +++ b/tests/fixtures/java/ImitateJavaLangMathTest.java @@ -0,0 +1,7 @@ +class ImitateJavaLangMathTest +{ + public static void decrementExact(int a) + { + System.out.println(Math.decrementExact(a)); + } +}