Skip to content

Commit 2287457

Browse files
committed
Define assertExactEquals in a single place.
1 parent 56ed96e commit 2287457

File tree

5 files changed

+64
-42
lines changed

5 files changed

+64
-42
lines changed

test-suite/shared/src/test/scala/org/scalajs/testsuite/compiler/DoubleTest.scala

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,9 @@ import org.junit.Test
1616
import org.junit.Assert._
1717
import org.junit.Assume._
1818

19-
class DoubleTest {
20-
final def assertExactEquals(expected: Double, actual: Double): Unit =
21-
assertTrue(s"expected: $expected; actual: $actual", expected.equals(actual))
22-
23-
final def assertExactEquals(msg: String, expected: Float, actual: Float): Unit =
24-
assertTrue(s"$msg; expected: $expected; actual: $actual", expected.equals(actual))
19+
import org.scalajs.testsuite.utils.AssertExtensions.assertExactEquals
2520

21+
class DoubleTest {
2622
@Test
2723
def `toInt`(): Unit = {
2824
@inline

test-suite/shared/src/test/scala/org/scalajs/testsuite/compiler/FloatTest.scala

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,9 @@ package org.scalajs.testsuite.compiler
1515
import org.junit.Test
1616
import org.junit.Assert._
1717

18-
class FloatTest {
19-
final def assertExactEquals(expected: Float, actual: Float): Unit =
20-
assertTrue(s"expected: $expected; actual: $actual", expected.equals(actual))
21-
22-
final def assertExactEquals(expected: Double, actual: Double): Unit =
23-
assertTrue(s"expected: $expected; actual: $actual", expected.equals(actual))
18+
import org.scalajs.testsuite.utils.AssertExtensions.assertExactEquals
2419

20+
class FloatTest {
2521
@noinline def froundNotInlined(x: Double): Float =
2622
x.toFloat
2723

test-suite/shared/src/test/scala/org/scalajs/testsuite/compiler/LongTest.scala

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import org.junit.Test
1616
import org.junit.Assert._
1717
import org.junit.Assume._
1818

19+
import org.scalajs.testsuite.utils.AssertExtensions.assertExactEquals
1920
import org.scalajs.testsuite.utils.AssertThrows.assertThrows
2021
import org.scalajs.testsuite.utils.Platform._
2122

@@ -36,12 +37,6 @@ class LongTest {
3637

3738
// Helpers
3839

39-
final def assertExactEquals(expected: Float, actual: Float): Unit =
40-
assertTrue(s"expected: $expected; actual: $actual", expected.equals(actual))
41-
42-
final def assertExactEquals(expected: Double, actual: Double): Unit =
43-
assertTrue(s"expected: $expected; actual: $actual", expected.equals(actual))
44-
4540
@noinline def hideFromOptimizer(x: Long): Long = x
4641

4742
@noinline def hideDoubleFromOptimizer(x: Double): Double = x

test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/lang/MathTest.scala

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,35 +18,15 @@ import org.junit.Assume._
1818

1919
import java.lang.Math
2020

21+
// Imported under different names for historical reasons
22+
import org.scalajs.testsuite.utils.AssertExtensions.{assertExactEquals => assertSameDouble}
23+
import org.scalajs.testsuite.utils.AssertExtensions.{assertExactEquals => assertSameFloat}
24+
2125
import org.scalajs.testsuite.utils.AssertThrows.assertThrows
2226
import org.scalajs.testsuite.utils.Platform._
2327

2428
class MathTest {
2529

26-
/** Like `assertEquals` with `delta = 0.0`, but positive and negative zeros
27-
* compare not equal.
28-
*/
29-
private def assertSameDouble(expected: Double, actual: Double): Unit =
30-
assertTrue(s"expected: $expected but was: $actual", expected.equals(actual))
31-
32-
/** Like `assertEquals` with `delta = 0.0`, but positive and negative zeros
33-
* compare not equal.
34-
*/
35-
private def assertSameDouble(msg: String, expected: Double, actual: Double): Unit =
36-
assertTrue(s"$msg; expected: $expected but was: $actual", expected.equals(actual))
37-
38-
/** Like `assertEquals` with `delta = 0.0f`, but positive and negative zeros
39-
* compare not equal.
40-
*/
41-
private def assertSameFloat(expected: Float, actual: Float): Unit =
42-
assertTrue(s"expected: $expected but was: $actual", expected.equals(actual))
43-
44-
/** Like `assertEquals` with `delta = 0.0f`, but positive and negative zeros
45-
* compare not equal.
46-
*/
47-
private def assertSameFloat(msg: String, expected: Float, actual: Float): Unit =
48-
assertTrue(s"$msg; expected: $expected but was: $actual", expected.equals(actual))
49-
5030
@Test def absInt(): Unit = {
5131
assertEquals(0, Math.abs(0))
5232
assertEquals(156, Math.abs(156))
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* Scala.js (https://www.scala-js.org/)
3+
*
4+
* Copyright EPFL.
5+
*
6+
* Licensed under Apache License 2.0
7+
* (https://www.apache.org/licenses/LICENSE-2.0).
8+
*
9+
* See the NOTICE file distributed with this work for
10+
* additional information regarding copyright ownership.
11+
*/
12+
13+
package org.scalajs.testsuite.utils
14+
15+
import org.junit.Assert._
16+
17+
object AssertExtensions {
18+
19+
/** Asserts that two Double values are exactly equal.
20+
*
21+
* Positive and negative zeros compare as *not* equal. `NaN` compares
22+
* *equal* to itself.
23+
*/
24+
@noinline
25+
def assertExactEquals(expected: Double, actual: Double): Unit =
26+
assertTrue(s"expected: $expected but was: $actual", expected.equals(actual))
27+
28+
/** Asserts that two Double values are exactly equal.
29+
*
30+
* Positive and negative zeros compare as *not* equal. `NaN` compares
31+
* *equal* to itself.
32+
*/
33+
@noinline
34+
def assertExactEquals(msg: String, expected: Double, actual: Double): Unit =
35+
assertTrue(s"$msg; expected: $expected but was: $actual", expected.equals(actual))
36+
37+
/** Asserts that two Float values are exactly equal.
38+
*
39+
* Positive and negative zeros compare as *not* equal. `NaN` compares
40+
* *equal* to itself.
41+
*/
42+
@noinline
43+
def assertExactEquals(expected: Float, actual: Float): Unit =
44+
assertTrue(s"expected: $expected but was: $actual", expected.equals(actual))
45+
46+
/** Asserts that two Float values are exactly equal.
47+
*
48+
* Positive and negative zeros compare as *not* equal. `NaN` compares
49+
* *equal* to itself.
50+
*/
51+
@noinline
52+
def assertExactEquals(msg: String, expected: Float, actual: Float): Unit =
53+
assertTrue(s"$msg; expected: $expected but was: $actual", expected.equals(actual))
54+
55+
}

0 commit comments

Comments
 (0)