Skip to content

Commit ac8d7ff

Browse files
committed
Improved serialization tests
1 parent e01d471 commit ac8d7ff

28 files changed

+263
-280
lines changed

shared/src/test/scala/org/threeten/bp/AbstractTest.scala renamed to jvm/src/test/scala/org/threeten/bp/AbstractTest.scala

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131
*/
3232
package org.threeten.bp
3333

34-
import org.testng.Assert.assertEquals
35-
import org.testng.Assert.assertSame
36-
import org.testng.Assert.assertTrue
34+
import org.scalatest.FunSuite
3735
import java.io.ByteArrayInputStream
3836
import java.io.ByteArrayOutputStream
3937
import java.io.DataInputStream
@@ -47,33 +45,19 @@ import java.lang.reflect.Field
4745
import java.lang.reflect.Modifier
4846

4947
/** Base test class. */
50-
object AbstractTest {
48+
trait AbstractTest extends FunSuite with AssertionsHelper {
5149
private val SERIALISATION_DATA_FOLDER: String = "jvm/src/test/resources/"
5250

53-
def isIsoLeap(year: Long): Boolean =
54-
if (year % 4 != 0)
55-
false
56-
else if (year % 100 == 0 && year % 400 != 0)
57-
false
58-
else
59-
true
60-
61-
@throws(classOf[IOException])
62-
@throws(classOf[ClassNotFoundException])
6351
def assertSerializable(o: AnyRef): Unit = {
6452
val deserialisedObject: AnyRef = writeThenRead(o)
6553
assertEquals(deserialisedObject, o)
6654
}
6755

68-
@throws(classOf[IOException])
69-
@throws(classOf[ClassNotFoundException])
7056
def assertSerializableAndSame(o: AnyRef): Unit = {
7157
val deserialisedObject: AnyRef = writeThenRead(o)
7258
assertSame(deserialisedObject, o)
7359
}
7460

75-
@throws(classOf[IOException])
76-
@throws(classOf[ClassNotFoundException])
7761
def writeThenRead(o: AnyRef): AnyRef = {
7862
val baos: ByteArrayOutputStream = new ByteArrayOutputStream
7963
var oos: ObjectOutputStream = null
@@ -96,14 +80,10 @@ object AbstractTest {
9680
}
9781
}
9882

99-
@throws(classOf[IOException])
100-
@throws(classOf[ClassNotFoundException])
10183
def assertEqualsSerialisedForm(objectSerialised: AnyRef): Unit = {
10284
assertEqualsSerialisedForm(objectSerialised, objectSerialised.getClass)
10385
}
10486

105-
@throws(classOf[IOException])
106-
@throws(classOf[ClassNotFoundException])
10787
def assertEqualsSerialisedForm(objectSerialised: AnyRef, cls: Class[_]): Unit = {
10888
val className: String = cls.getSimpleName
10989
var in: ObjectInputStream = null
@@ -125,11 +105,11 @@ object AbstractTest {
125105
for (field <- fields) {
126106
if (!field.getName.contains("$")) {
127107
if (Modifier.isStatic(field.getModifiers)) {
128-
assertTrue(Modifier.isFinal(field.getModifiers), "Field:" + field.getName)
108+
assertTrue(Modifier.isFinal(field.getModifiers))
129109
}
130110
else {
131-
assertTrue(Modifier.isPrivate(field.getModifiers), "Field:" + field.getName)
132-
assertTrue(Modifier.isFinal(field.getModifiers), "Field:" + field.getName)
111+
assertTrue(Modifier.isPrivate(field.getModifiers))
112+
assertTrue(Modifier.isFinal(field.getModifiers))
133113
}
134114
}
135115
}
@@ -139,7 +119,6 @@ object AbstractTest {
139119
}
140120
}
141121

142-
@throws(classOf[Exception])
143122
def assertSerializedBySer(`object`: AnyRef, expectedBytes: Array[Byte], matches: Array[Byte]*): Unit = {
144123
val serClass: String = `object`.getClass.getPackage.getName + ".Ser"
145124
val serCls: Class[_] = Class.forName(serClass)

jvm/src/test/scala/org/threeten/bp/TestClock_FixedSerialization.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ package org.threeten.bp
3333

3434
import org.scalatest.FunSuite
3535

36-
class TestClock_FixedSerialization extends FunSuite with AssertionsHelper {
36+
class TestClock_FixedSerialization extends FunSuite with AssertionsHelper with AbstractTest {
3737
test("isSerializable") {
38-
AbstractTest.assertSerializable(Clock.fixed(TestClock_Fixed.INSTANT, ZoneOffset.UTC))
39-
AbstractTest.assertSerializable(Clock.fixed(TestClock_Fixed.INSTANT, TestClock_Fixed.PARIS))
38+
assertSerializable(Clock.fixed(TestClock_Fixed.INSTANT, ZoneOffset.UTC))
39+
assertSerializable(Clock.fixed(TestClock_Fixed.INSTANT, TestClock_Fixed.PARIS))
4040
}
4141
}

jvm/src/test/scala/org/threeten/bp/TestClock_OffsetSerialization.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ package org.threeten.bp
3333

3434
import org.scalatest.FunSuite
3535

36-
class TestClock_OffsetSerialization extends FunSuite with AssertionsHelper {
36+
class TestClock_OffsetSerialization extends FunSuite with AssertionsHelper with AbstractTest {
3737
test("isSerializable") {
38-
AbstractTest.assertSerializable(Clock.offset(Clock.system(TestClock_Offset.PARIS), TestClock_Offset.OFFSET))
38+
assertSerializable(Clock.offset(Clock.system(TestClock_Offset.PARIS), TestClock_Offset.OFFSET))
3939
}
4040
}

jvm/src/test/scala/org/threeten/bp/TestClock_SystemSerialization.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ package org.threeten.bp
3333

3434
import org.scalatest.FunSuite
3535

36-
class TestClock_SystemSerialization extends FunSuite with AssertionsHelper {
36+
class TestClock_SystemSerialization extends FunSuite with AssertionsHelper with AbstractTest {
3737
test("isSerializable") {
38-
AbstractTest.assertSerializable(Clock.systemUTC)
39-
AbstractTest.assertSerializable(Clock.systemDefaultZone)
40-
AbstractTest.assertSerializable(Clock.system(TestClock_System.PARIS))
38+
assertSerializable(Clock.systemUTC)
39+
assertSerializable(Clock.systemDefaultZone)
40+
assertSerializable(Clock.system(TestClock_System.PARIS))
4141
}
4242

4343
}

jvm/src/test/scala/org/threeten/bp/TestClock_TickSerialization.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ package org.threeten.bp
3333

3434
import org.scalatest.FunSuite
3535

36-
class TestClock_TickSerialization extends FunSuite with AssertionsHelper {
36+
class TestClock_TickSerialization extends FunSuite with AssertionsHelper with AbstractTest {
3737
test("isSerializable") {
38-
AbstractTest.assertSerializable(Clock.tickSeconds(TestClock_Tick.PARIS))
39-
AbstractTest.assertSerializable(Clock.tickMinutes(TestClock_Tick.MOSCOW))
40-
AbstractTest.assertSerializable(Clock.tick(Clock.fixed(TestClock_Tick.INSTANT, TestClock_Tick.PARIS), TestClock_Tick.AMOUNT))
38+
assertSerializable(Clock.tickSeconds(TestClock_Tick.PARIS))
39+
assertSerializable(Clock.tickMinutes(TestClock_Tick.MOSCOW))
40+
assertSerializable(Clock.tick(Clock.fixed(TestClock_Tick.INSTANT, TestClock_Tick.PARIS), TestClock_Tick.AMOUNT))
4141
}
4242
}

jvm/src/test/scala/org/threeten/bp/TestDurationSerialization.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ import java.io._
3535
import org.scalatest.FunSuite
3636

3737
/** Test Duration. */
38-
class TestDurationSerialization extends FunSuite with AssertionsHelper {
38+
class TestDurationSerialization extends FunSuite with AssertionsHelper with AbstractTest {
3939
test("serialization") {
40-
AbstractTest.assertSerializable(Duration.ofHours(5))
41-
AbstractTest.assertSerializable(Duration.ofHours(-5))
42-
AbstractTest.assertSerializableAndSame(Duration.ZERO)
40+
assertSerializable(Duration.ofHours(5))
41+
assertSerializable(Duration.ofHours(-5))
42+
assertSerializableAndSame(Duration.ZERO)
4343
}
4444

4545
test("serialization_format") {
46-
AbstractTest.assertEqualsSerialisedForm(Duration.ofSeconds(654321, 123456789))
46+
assertEqualsSerialisedForm(Duration.ofSeconds(654321, 123456789))
4747
}
4848

4949
test("deserialization") {

jvm/src/test/scala/org/threeten/bp/TestInstantSerialization.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ package org.threeten.bp
3333

3434
import org.scalatest.FunSuite
3535

36-
class TestInstantSerialization extends FunSuite with AssertionsHelper {
36+
class TestInstantSerialization extends FunSuite with AssertionsHelper with AbstractTest {
3737

3838
test("serialization") {
39-
AbstractTest.assertSerializable(Instant.ofEpochMilli(134l))
39+
assertSerializable(Instant.ofEpochMilli(134l))
4040
}
4141

4242
test("serialization_format") {
43-
AbstractTest.assertEqualsSerialisedForm(Instant.ofEpochMilli(1347830279338l))
43+
assertEqualsSerialisedForm(Instant.ofEpochMilli(1347830279338l))
4444
}
4545

4646
}

jvm/src/test/scala/org/threeten/bp/TestLocalTimeSerialization.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,18 @@ import org.threeten.bp.temporal._
3939

4040
import scala.collection.JavaConverters._
4141

42-
class TestLocalTimeSerialization extends FunSuite with AssertionsHelper with BeforeAndAfter {
42+
class TestLocalTimeSerialization extends FunSuite with AssertionsHelper with BeforeAndAfter with AbstractTest {
4343
private var TEST_12_30_40_987654321: LocalTime = null
4444

4545
before {
4646
TEST_12_30_40_987654321 = LocalTime.of(12, 30, 40, 987654321)
4747
}
4848

4949
test("test_serialization_format") {
50-
AbstractTest.assertEqualsSerialisedForm(LocalTime.of(22, 17, 59, 460 * 1000000))
50+
assertEqualsSerialisedForm(LocalTime.of(22, 17, 59, 460 * 1000000))
5151
}
5252

5353
test("test_serialization") {
54-
AbstractTest.assertSerializable(TEST_12_30_40_987654321)
54+
assertSerializable(TEST_12_30_40_987654321)
5555
}
5656
}

jvm/src/test/scala/org/threeten/bp/TestOffsetDateTimeSerialization.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,24 +35,24 @@ import java.lang.reflect.{Constructor, InvocationTargetException}
3535

3636
import org.scalatest.{BeforeAndAfter, FunSuite}
3737

38-
class TestOffsetDateTimeSerialization extends FunSuite with AssertionsHelper with BeforeAndAfter {
38+
class TestOffsetDateTimeSerialization extends FunSuite with AssertionsHelper with BeforeAndAfter with AbstractTest {
3939
private var TEST_2008_6_30_11_30_59_000000500: OffsetDateTime = null
4040

4141
before {
4242
TEST_2008_6_30_11_30_59_000000500 = OffsetDateTime.of(LocalDate.of(2008, 6, 30), LocalTime.of(11, 30, 59, 500), TestOffsetDateTime.OFFSET_PONE)
4343
}
4444

4545
test("test_serialization") {
46-
AbstractTest.assertSerializable(TEST_2008_6_30_11_30_59_000000500)
47-
AbstractTest.assertSerializable(OffsetDateTime.MIN)
48-
AbstractTest.assertSerializable(OffsetDateTime.MAX)
46+
assertSerializable(TEST_2008_6_30_11_30_59_000000500)
47+
assertSerializable(OffsetDateTime.MIN)
48+
assertSerializable(OffsetDateTime.MAX)
4949
}
5050

5151
test("test_serialization_format") {
5252
val date: LocalDate = LocalDate.of(2012, 9, 16)
5353
val time: LocalTime = LocalTime.of(22, 17, 59, 464 * 1000000)
5454
val offset: ZoneOffset = ZoneOffset.of("+01:00")
55-
AbstractTest.assertEqualsSerialisedForm(OffsetDateTime.of(date, time, offset))
55+
assertEqualsSerialisedForm(OffsetDateTime.of(date, time, offset))
5656
}
5757

5858
test("constructor_nullTime") {

jvm/src/test/scala/org/threeten/bp/TestOffsetTimeSerialization.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,21 @@ import org.threeten.bp.temporal.ChronoField._
3939
import org.threeten.bp.temporal.ChronoUnit.{DAYS, NANOS, SECONDS}
4040
import org.threeten.bp.temporal._
4141

42-
class TestOffsetTimeSerialization extends FunSuite with AssertionsHelper with BeforeAndAfter {
42+
class TestOffsetTimeSerialization extends FunSuite with AssertionsHelper with BeforeAndAfter with AbstractTest {
4343
private var TEST_11_30_59_500_PONE: OffsetTime = null
4444

4545
before {
4646
TEST_11_30_59_500_PONE = OffsetTime.of(LocalTime.of(11, 30, 59, 500), TestOffsetTime.OFFSET_PONE)
4747
}
4848

4949
test("test_serialization") {
50-
AbstractTest.assertSerializable(TEST_11_30_59_500_PONE)
51-
AbstractTest.assertSerializable(OffsetTime.MIN)
52-
AbstractTest.assertSerializable(OffsetTime.MAX)
50+
assertSerializable(TEST_11_30_59_500_PONE)
51+
assertSerializable(OffsetTime.MIN)
52+
assertSerializable(OffsetTime.MAX)
5353
}
5454

5555
test("test_serialization_format") {
56-
AbstractTest.assertEqualsSerialisedForm(OffsetTime.of(LocalTime.of(22, 17, 59, 464000000), ZoneOffset.ofHours(1)))
56+
assertEqualsSerialisedForm(OffsetTime.of(LocalTime.of(22, 17, 59, 464000000), ZoneOffset.ofHours(1)))
5757
}
5858

5959
test("constructor_nullTime") {

jvm/src/test/scala/org/threeten/bp/TestZoneIdSerialization.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ object TestZoneIdSerialization {
4747
private val GAP: Int = 0
4848
}
4949

50-
class TestZoneIdSerialization extends FunSuite with AssertionsHelper {
50+
class TestZoneIdSerialization extends FunSuite with AssertionsHelper with AbstractTest {
5151
test("immutable") {
5252
val cls: Class[ZoneId] = classOf[ZoneId]
5353
assertTrue(Modifier.isPublic(cls.getModifiers))
@@ -62,26 +62,26 @@ class TestZoneIdSerialization extends FunSuite with AssertionsHelper {
6262

6363
test("serialization_UTC") {
6464
val test: ZoneId = ZoneOffset.UTC
65-
AbstractTest.assertSerializableAndSame(test)
65+
assertSerializableAndSame(test)
6666
}
6767

6868
test("serialization_fixed") {
6969
val test: ZoneId = ZoneId.of("UTC+01:30")
70-
AbstractTest.assertSerializable(test)
70+
assertSerializable(test)
7171
}
7272

7373
test("serialization_Europe") {
7474
val test: ZoneId = ZoneId.of("Europe/London")
75-
AbstractTest.assertSerializable(test)
75+
assertSerializable(test)
7676
}
7777

7878
test("serialization_America") {
7979
val test: ZoneId = ZoneId.of("America/Chicago")
80-
AbstractTest.assertSerializable(test)
80+
assertSerializable(test)
8181
}
8282

8383
test("serialization_format") {
84-
AbstractTest.assertEqualsSerialisedForm(ZoneId.of("Europe/London"), classOf[ZoneId])
84+
assertEqualsSerialisedForm(ZoneId.of("Europe/London"), classOf[ZoneId])
8585
}
8686

8787
}

jvm/src/test/scala/org/threeten/bp/TestZoneOffsetSerialization.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ package org.threeten.bp
3434
import org.scalatest.FunSuite
3535

3636
/** Test ZoneOffset. */
37-
class TestZoneOffsetSerialization extends FunSuite with AssertionsHelper {
37+
class TestZoneOffsetSerialization extends FunSuite with AssertionsHelper with AbstractTest {
3838
test("serialization") {
39-
AbstractTest.assertSerializable(ZoneOffset.of("+01:30"))
40-
AbstractTest.assertSerializable(ZoneOffset.of("-02:30"))
41-
AbstractTest.assertSerializable(ZoneOffset.ofTotalSeconds(53265))
39+
assertSerializable(ZoneOffset.of("+01:30"))
40+
assertSerializable(ZoneOffset.of("-02:30"))
41+
assertSerializable(ZoneOffset.ofTotalSeconds(53265))
4242
}
4343

4444
test("serialization_form") {
45-
AbstractTest.assertEqualsSerialisedForm(ZoneOffset.ofHoursMinutes(1, 30))
45+
assertEqualsSerialisedForm(ZoneOffset.ofHoursMinutes(1, 30))
4646
}
4747
}

jvm/src/test/scala/org/threeten/bp/TestZonedDateTimeSerialization.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import org.threeten.bp.temporal.ChronoField._
3939
import org.threeten.bp.temporal.ChronoUnit.{HOURS, MINUTES, NANOS, SECONDS}
4040
import org.threeten.bp.temporal._
4141

42-
class TestZonedDateTimeSerialization extends FunSuite with AssertionsHelper with BeforeAndAfter {
42+
class TestZonedDateTimeSerialization extends FunSuite with AssertionsHelper with BeforeAndAfter with AbstractTest {
4343
private var TEST_PARIS_GAP_2008_03_30_02_30: LocalDateTime = null
4444
private var TEST_PARIS_OVERLAP_2008_10_26_02_30: LocalDateTime = null
4545
private var TEST_LOCAL_2008_06_30_11_30_59_500: LocalDateTime = null
@@ -55,12 +55,12 @@ class TestZonedDateTimeSerialization extends FunSuite with AssertionsHelper with
5555
}
5656

5757
test("test_serialization") {
58-
AbstractTest.assertSerializable(TEST_DATE_TIME)
58+
assertSerializable(TEST_DATE_TIME)
5959
}
6060

6161
test("test_serialization_format") {
6262
val zdt: ZonedDateTime = LocalDateTime.of(2012, 9, 16, 22, 17, 59, 470 * 1000000).atZone(ZoneId.of("Europe/London"))
63-
AbstractTest.assertEqualsSerialisedForm(zdt)
63+
assertEqualsSerialisedForm(zdt)
6464
}
6565

6666
}

jvm/src/test/scala/org/threeten/bp/chrono/TestChronoLocalDateSerialization.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import java.io.ObjectInputStream
3939
import java.io.ObjectOutputStream
4040
import java.util.Locale
4141
import org.threeten.bp.AssertionsHelper
42+
import org.threeten.bp.AbstractTest
4243
import org.threeten.bp.Duration
4344
import org.threeten.bp.LocalDate
4445
import org.threeten.bp.format.ResolverStyle
@@ -51,7 +52,7 @@ import org.threeten.bp.temporal.TemporalField
5152
import org.threeten.bp.temporal.TemporalUnit
5253
import org.threeten.bp.temporal.ValueRange
5354

54-
class TestChronoLocalDateSerialization extends FunSuite with AssertionsHelper {
55+
class TestChronoLocalDateSerialization extends FunSuite with AssertionsHelper with AbstractTest {
5556
val data_of_calendars: List[Chronology] = {
5657
List[Chronology](
5758
(HijrahChronology.INSTANCE),

jvm/src/test/scala/org/threeten/bp/chrono/TestChronoLocalDateTimeSerialization.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import java.io.ObjectInputStream
3939
import java.io.ObjectOutputStream
4040
import java.util.Locale
4141
import org.threeten.bp.AssertionsHelper
42+
import org.threeten.bp.AbstractTest
4243
import org.threeten.bp.Duration
4344
import org.threeten.bp.LocalDate
4445
import org.threeten.bp.LocalDateTime
@@ -53,7 +54,7 @@ import org.threeten.bp.temporal.TemporalField
5354
import org.threeten.bp.temporal.TemporalUnit
5455
import org.threeten.bp.temporal.ValueRange
5556

56-
class TestChronoLocalDateTimeSerialization extends FunSuite with AssertionsHelper {
57+
class TestChronoLocalDateTimeSerialization extends FunSuite with AssertionsHelper with AbstractTest {
5758
val data_of_calendars: List[Chronology] = {
5859
List(
5960
(HijrahChronology.INSTANCE),

jvm/src/test/scala/org/threeten/bp/chrono/TestChronoZonedDateTimeSerialization.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import java.io.ObjectInputStream
3939
import java.io.ObjectOutputStream
4040
import java.util.Locale
4141
import org.threeten.bp.AssertionsHelper
42+
import org.threeten.bp.AbstractTest
4243
import org.threeten.bp.Duration
4344
import org.threeten.bp.LocalDate
4445
import org.threeten.bp.LocalTime
@@ -55,7 +56,7 @@ import org.threeten.bp.temporal.TemporalField
5556
import org.threeten.bp.temporal.TemporalUnit
5657
import org.threeten.bp.temporal.ValueRange
5758

58-
class TestChronoZonedDateTimeSerialization extends FunSuite with AssertionsHelper {
59+
class TestChronoZonedDateTimeSerialization extends FunSuite with AssertionsHelper with AbstractTest {
5960
val data_of_calendars: List[Chronology] = {
6061
List(
6162
(HijrahChronology.INSTANCE),

0 commit comments

Comments
 (0)