diff --git a/library/core/src/test/java/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoderTest.java b/library/core/src/test/java/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoderTest.java index 341c3eb41b..015ee7e23a 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoderTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoderTest.java @@ -22,7 +22,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.text.Cue; import com.google.android.exoplayer2.text.Subtitle; import com.google.android.exoplayer2.text.SubtitleDecoderException; +import com.google.common.truth.Expect; import java.util.List; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -81,6 +83,8 @@ public final class Mp4WebvttDecoderTest { 0x76, 0x74, 0x74 }; + @Rule public final Expect expect = Expect.create(); + // Positive tests. @Test @@ -132,28 +136,33 @@ public final class Mp4WebvttDecoderTest { * @param subtitle The {@link Subtitle} to check. * @param expectedCues The expected {@link Cue}s. */ - private static void assertMp4WebvttSubtitleEquals(Subtitle subtitle, Cue... expectedCues) { + private void assertMp4WebvttSubtitleEquals(Subtitle subtitle, Cue... expectedCues) { assertThat(subtitle.getEventTimeCount()).isEqualTo(1); assertThat(subtitle.getEventTime(0)).isEqualTo(0); List subtitleCues = subtitle.getCues(0); assertThat(subtitleCues).hasSize(expectedCues.length); for (int i = 0; i < subtitleCues.size(); i++) { - assertCueEquals(expectedCues[i], subtitleCues.get(i)); + assertCuesEqual(expectedCues[i], subtitleCues.get(i)); } } - /** - * Asserts that two cues are equal. - */ - private static void assertCueEquals(Cue expected, Cue actual) { - assertThat(actual.line).isEqualTo(expected.line); - assertThat(actual.lineAnchor).isEqualTo(expected.lineAnchor); - assertThat(actual.lineType).isEqualTo(expected.lineType); - assertThat(actual.position).isEqualTo(expected.position); - assertThat(actual.positionAnchor).isEqualTo(expected.positionAnchor); - assertThat(actual.size).isEqualTo(expected.size); - assertThat(actual.text.toString()).isEqualTo(expected.text.toString()); - assertThat(actual.textAlignment).isEqualTo(expected.textAlignment); - } + /** Asserts that two cues are equal. */ + private void assertCuesEqual(Cue expected, Cue actual) { + expect.withMessage("Cue.line").that(actual.line).isEqualTo(expected.line); + expect.withMessage("Cue.lineAnchor").that(actual.lineAnchor).isEqualTo(expected.lineAnchor); + expect.withMessage("Cue.lineType").that(actual.lineType).isEqualTo(expected.lineType); + expect.withMessage("Cue.position").that(actual.position).isEqualTo(expected.position); + expect + .withMessage("Cue.positionAnchor") + .that(actual.positionAnchor) + .isEqualTo(expected.positionAnchor); + expect.withMessage("Cue.size").that(actual.size).isEqualTo(expected.size); + expect.withMessage("Cue.text").that(actual.text.toString()).isEqualTo(expected.text.toString()); + expect + .withMessage("Cue.textAlignment") + .that(actual.textAlignment) + .isEqualTo(expected.textAlignment); + assertThat(expect.hasFailures()).isFalse(); + } } diff --git a/library/core/src/test/java/com/google/android/exoplayer2/text/webvtt/WebvttDecoderTest.java b/library/core/src/test/java/com/google/android/exoplayer2/text/webvtt/WebvttDecoderTest.java index a879a38b8d..06ac4d825c 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/text/webvtt/WebvttDecoderTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/text/webvtt/WebvttDecoderTest.java @@ -16,7 +16,6 @@ package com.google.android.exoplayer2.text.webvtt; import static com.google.common.truth.Truth.assertThat; -import static com.google.common.truth.Truth.assertWithMessage; import static org.junit.Assert.fail; import android.graphics.Typeface; @@ -33,8 +32,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.testutil.TestUtil; import com.google.android.exoplayer2.text.Cue; import com.google.android.exoplayer2.text.SubtitleDecoderException; +import com.google.common.truth.Expect; import java.io.IOException; import java.util.List; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -54,6 +55,8 @@ public class WebvttDecoderTest { private static final String WITH_BOM = "webvtt/with_bom"; private static final String EMPTY_FILE = "webvtt/empty"; + @Rule public final Expect expect = Expect.create(); + @Test public void testDecodeEmpty() throws IOException { WebvttDecoder decoder = new WebvttDecoder(); @@ -404,7 +407,7 @@ public class WebvttDecoderTest { return (Spanned) sub.getCues(timeUs).get(0).text; } - private static void assertCue( + private void assertCue( WebvttSubtitle subtitle, int eventTimeIndex, long startTimeUs, long endTimeUs, String text) { assertCue( subtitle, @@ -421,7 +424,7 @@ public class WebvttDecoderTest { /* size= */ 1.0f); } - private static void assertCue( + private void assertCue( WebvttSubtitle subtitle, int eventTimeIndex, long startTimeUs, @@ -434,23 +437,27 @@ public class WebvttDecoderTest { float position, @Cue.AnchorType int positionAnchor, float size) { - assertWithMessage("startTimeUs") + expect + .withMessage("startTimeUs") .that(subtitle.getEventTime(eventTimeIndex)) .isEqualTo(startTimeUs); - assertWithMessage("endTimeUs") + expect + .withMessage("endTimeUs") .that(subtitle.getEventTime(eventTimeIndex + 1)) .isEqualTo(endTimeUs); List cues = subtitle.getCues(subtitle.getEventTime(eventTimeIndex)); assertThat(cues).hasSize(1); // Assert cue properties. Cue cue = cues.get(0); - assertWithMessage("cue.text").that(cue.text.toString()).isEqualTo(text); - assertWithMessage("cue.textAlignment").that(cue.textAlignment).isEqualTo(textAlignment); - assertWithMessage("cue.line").that(cue.line).isEqualTo(line); - assertWithMessage("cue.lineType").that(cue.lineType).isEqualTo(lineType); - assertWithMessage("cue.lineAnchor").that(cue.lineAnchor).isEqualTo(lineAnchor); - assertWithMessage("cue.position").that(cue.position).isEqualTo(position); - assertWithMessage("cue.positionAnchor").that(cue.positionAnchor).isEqualTo(positionAnchor); - assertWithMessage("cue.size").that(cue.size).isEqualTo(size); + expect.withMessage("cue.text").that(cue.text.toString()).isEqualTo(text); + expect.withMessage("cue.textAlignment").that(cue.textAlignment).isEqualTo(textAlignment); + expect.withMessage("cue.line").that(cue.line).isEqualTo(line); + expect.withMessage("cue.lineType").that(cue.lineType).isEqualTo(lineType); + expect.withMessage("cue.lineAnchor").that(cue.lineAnchor).isEqualTo(lineAnchor); + expect.withMessage("cue.position").that(cue.position).isEqualTo(position); + expect.withMessage("cue.positionAnchor").that(cue.positionAnchor).isEqualTo(positionAnchor); + expect.withMessage("cue.size").that(cue.size).isEqualTo(size); + + assertThat(expect.hasFailures()).isFalse(); } }