Skip to content

Commit dd19643

Browse files
ummelsnicolasstucki
authored andcommitted
Add all tests implemented up to the last commit.
Tests started in jasmine and later where ported to JUnit. Due to the imposiblility of tracking the change history, they are added in a single batch.
1 parent db522be commit dd19643

17 files changed

+3625
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package org.scalajs.testsuite.javalib.time
2+
3+
import java.time.DateTimeException
4+
import java.time.temporal.{ChronoUnit, Temporal, UnsupportedTemporalTypeException}
5+
6+
import org.junit.Assert._
7+
8+
object DateTimeTestUtil {
9+
import org.scalajs.testsuite.utils.AssertThrows._
10+
11+
val dateBasedUnits = ChronoUnit.values.filter(_.isDateBased)
12+
13+
val timeBasedUnits = ChronoUnit.values.filter(_.isTimeBased)
14+
15+
def testDateTime(actual: => Any)(expected: => Any): Unit = {
16+
try {
17+
val e = expected
18+
//expectNoException(actual)
19+
assertEquals(e, actual)
20+
} catch {
21+
case _: UnsupportedTemporalTypeException =>
22+
expectThrows(classOf[UnsupportedTemporalTypeException], actual)
23+
24+
case _: DateTimeException =>
25+
expectThrows(classOf[DateTimeException], actual)
26+
27+
case _: ArithmeticException =>
28+
expectThrows(classOf[ArithmeticException], actual)
29+
}
30+
}
31+
}
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
package org.scalajs.testsuite.javalib.time
2+
3+
import java.time._
4+
import java.time.temporal.ChronoField
5+
6+
import org.junit.Test
7+
import org.junit.Assert._
8+
import org.scalajs.testsuite.utils.AssertThrows._
9+
10+
class DayOfWeekTest extends TemporalAccessorTest {
11+
import DayOfWeek._
12+
13+
val samples = values.toSeq
14+
15+
def isSupported(field: ChronoField): Boolean =
16+
field == ChronoField.DAY_OF_WEEK
17+
18+
@Test def test_getValue(): Unit = {
19+
assertEquals(1, MONDAY.getValue)
20+
assertEquals(2, TUESDAY.getValue)
21+
assertEquals(3, WEDNESDAY.getValue)
22+
assertEquals(4, THURSDAY.getValue)
23+
assertEquals(5, FRIDAY.getValue)
24+
assertEquals(6, SATURDAY.getValue)
25+
assertEquals(7, SUNDAY.getValue)
26+
}
27+
28+
@Test def test_getLong(): Unit = {
29+
for (d <- samples)
30+
assertEquals(d.getValue.toLong, d.getLong(ChronoField.DAY_OF_WEEK))
31+
}
32+
33+
@Test def test_plus(): Unit = {
34+
assertEquals(FRIDAY, SATURDAY.plus(Long.MinValue))
35+
assertEquals(THURSDAY, THURSDAY.plus(-7))
36+
assertEquals(SUNDAY, WEDNESDAY.plus(-3))
37+
assertEquals(MONDAY, TUESDAY.plus(-1))
38+
assertEquals(MONDAY, MONDAY.plus(0))
39+
assertEquals(FRIDAY, THURSDAY.plus(1))
40+
assertEquals(MONDAY, FRIDAY.plus(3))
41+
assertEquals(SATURDAY, SATURDAY.plus(7))
42+
assertEquals(SUNDAY, SUNDAY.plus(Long.MaxValue))
43+
}
44+
45+
@Test def test_minus(): Unit = {
46+
assertEquals(SUNDAY, SATURDAY.minus(Long.MinValue))
47+
assertEquals(THURSDAY, THURSDAY.minus(-7))
48+
assertEquals(MONDAY, FRIDAY.minus(-3))
49+
assertEquals(WEDNESDAY, TUESDAY.minus(-1))
50+
assertEquals(MONDAY, MONDAY.minus(0))
51+
assertEquals(WEDNESDAY, THURSDAY.minus(1))
52+
assertEquals(SUNDAY, WEDNESDAY.minus(3))
53+
assertEquals(SATURDAY, SATURDAY.minus(7))
54+
assertEquals(SUNDAY, SUNDAY.plus(Long.MaxValue))
55+
}
56+
57+
@Test def test_compareTo(): Unit = {
58+
assertEquals(0, WEDNESDAY.compareTo(WEDNESDAY))
59+
assertTrue(MONDAY.compareTo(SUNDAY) < 0)
60+
assertTrue(SATURDAY.compareTo(TUESDAY) > 0)
61+
}
62+
63+
@Test def test_values(): Unit = {
64+
val days: Array[AnyRef] =
65+
Array(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY)
66+
assertArrayEquals(days, values.asInstanceOf[Array[AnyRef]])
67+
}
68+
69+
@Test def test_valueOf(): Unit = {
70+
assertEquals(MONDAY, valueOf("MONDAY"))
71+
assertEquals(TUESDAY, valueOf("TUESDAY"))
72+
assertEquals(WEDNESDAY, valueOf("WEDNESDAY"))
73+
assertEquals(THURSDAY, valueOf("THURSDAY"))
74+
assertEquals(FRIDAY, valueOf("FRIDAY"))
75+
assertEquals(SATURDAY, valueOf("SATURDAY"))
76+
assertEquals(SUNDAY, valueOf("SUNDAY"))
77+
78+
expectThrows(classOf[IllegalArgumentException], valueOf(""))
79+
}
80+
81+
@Test def test_of(): Unit = {
82+
assertEquals(MONDAY, of(1))
83+
assertEquals(TUESDAY, of(2))
84+
assertEquals(WEDNESDAY, of(3))
85+
assertEquals(THURSDAY, of(4))
86+
assertEquals(FRIDAY, of(5))
87+
assertEquals(SATURDAY, of(6))
88+
assertEquals(SUNDAY, of(7))
89+
90+
for (n <- Seq(Int.MinValue, 0, 8, Int.MaxValue))
91+
expectThrows(classOf[DateTimeException], of(n))
92+
}
93+
94+
@Test def test_from(): Unit = {
95+
for (d <- samples)
96+
assertEquals(d, from(d))
97+
for (d <- Seq(LocalDate.MIN, LocalDate.of(2012, 2, 29), LocalDate.MAX))
98+
assertEquals(d.getDayOfWeek, from(d))
99+
100+
expectThrows(classOf[DateTimeException], from(LocalTime.MIN))
101+
expectThrows(classOf[DateTimeException], from(Month.JANUARY))
102+
}
103+
}

0 commit comments

Comments
 (0)