From ef19740c929b89f631476ccbeb8451abea516be1 Mon Sep 17 00:00:00 2001 From: ibaker Date: Mon, 9 Dec 2024 10:19:28 -0800 Subject: [PATCH] Remove `Forwarding` from `assertForwardingClassOverridesAllMethods` And use it in a "non-forwarding" context in `DefaultAnalyticsCollectorTest`. PiperOrigin-RevId: 704331859 --- .../media3/common/ForwardingPlayerTest.java | 6 +++--- .../exoplayer/ForwardingRendererTest.java | 2 +- .../DefaultAnalyticsCollectorTest.java | 12 +++--------- .../audio/ForwardingAudioSinkTest.java | 4 ++-- .../source/ForwardingTimelineTest.java | 4 ++-- .../ForwardingExtractorInputTest.java | 2 +- .../ForwardingExtractorOutputTest.java | 5 ++--- .../extractor/ForwardingExtractorTest.java | 4 ++-- .../extractor/ForwardingSeekMapTest.java | 2 +- .../extractor/ForwardingTrackOutputTest.java | 3 +-- .../androidx/media3/test/utils/TestUtil.java | 18 +++++++++--------- 11 files changed, 27 insertions(+), 35 deletions(-) diff --git a/libraries/common/src/test/java/androidx/media3/common/ForwardingPlayerTest.java b/libraries/common/src/test/java/androidx/media3/common/ForwardingPlayerTest.java index 1e6e45b73d..2973583f5c 100644 --- a/libraries/common/src/test/java/androidx/media3/common/ForwardingPlayerTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/ForwardingPlayerTest.java @@ -20,7 +20,7 @@ import static androidx.media3.common.Player.EVENT_MEDIA_ITEM_TRANSITION; import static androidx.media3.common.Player.EVENT_TIMELINE_CHANGED; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.test.utils.TestUtil.assertForwardingClassForwardsAllMethodsExcept; -import static androidx.media3.test.utils.TestUtil.assertForwardingClassOverridesAllMethods; +import static androidx.media3.test.utils.TestUtil.assertSubclassOverridesAllMethods; import static androidx.media3.test.utils.TestUtil.getInnerClass; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.same; @@ -101,7 +101,7 @@ public class ForwardingPlayerTest { @Test public void forwardingPlayer_overridesAllPlayerMethods() throws Exception { - assertForwardingClassOverridesAllMethods(Player.class, ForwardingPlayer.class); + assertSubclassOverridesAllMethods(Player.class, ForwardingPlayer.class); } @Test @@ -122,7 +122,7 @@ public class ForwardingPlayerTest { Class forwardingListenerClass = (Class) checkNotNull(getInnerClass(ForwardingPlayer.class, "ForwardingListener")); - assertForwardingClassOverridesAllMethods(Player.Listener.class, forwardingListenerClass); + assertSubclassOverridesAllMethods(Player.Listener.class, forwardingListenerClass); } private static class FakePlayer extends StubPlayer { diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ForwardingRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ForwardingRendererTest.java index cea585cfb0..f8580452e1 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ForwardingRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ForwardingRendererTest.java @@ -25,7 +25,7 @@ import org.junit.runner.RunWith; public class ForwardingRendererTest { @Test public void overridesAllMethods() throws NoSuchMethodException { - TestUtil.assertForwardingClassOverridesAllMethods(Renderer.class, ForwardingRenderer.class); + TestUtil.assertSubclassOverridesAllMethods(Renderer.class, ForwardingRenderer.class); } @Test diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollectorTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollectorTest.java index 2e8a941f9d..6e1118eded 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollectorTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollectorTest.java @@ -50,6 +50,7 @@ import static androidx.media3.exoplayer.analytics.AnalyticsListener.EVENT_VIDEO_ import static androidx.media3.exoplayer.analytics.AnalyticsListener.EVENT_VIDEO_SIZE_CHANGED; import static androidx.media3.test.utils.FakeSampleStream.FakeSampleStreamItem.END_OF_STREAM_ITEM; import static androidx.media3.test.utils.FakeSampleStream.FakeSampleStreamItem.oneByteSample; +import static androidx.media3.test.utils.TestUtil.assertSubclassOverridesAllMethods; import static androidx.media3.test.utils.robolectric.TestPlayerRunHelper.play; import static androidx.media3.test.utils.robolectric.TestPlayerRunHelper.playUntilPosition; import static androidx.media3.test.utils.robolectric.TestPlayerRunHelper.run; @@ -130,7 +131,6 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableList; import java.io.IOException; -import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -198,14 +198,8 @@ public final class DefaultAnalyticsCollectorTest { * methods. */ @Test - public void defaultAnalyticsCollector_overridesAllPlayerListenerMethods() throws Exception { - for (Method method : TestUtil.getPublicMethods(Player.Listener.class)) { - assertThat( - DefaultAnalyticsCollector.class - .getMethod(method.getName(), method.getParameterTypes()) - .getDeclaringClass()) - .isEqualTo(DefaultAnalyticsCollector.class); - } + public void overridesAllPlayerListenerMethods() throws Exception { + assertSubclassOverridesAllMethods(Player.Listener.class, DefaultAnalyticsCollector.class); } @Test diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/ForwardingAudioSinkTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/ForwardingAudioSinkTest.java index 007f942c64..901499d13c 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/ForwardingAudioSinkTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/ForwardingAudioSinkTest.java @@ -16,7 +16,7 @@ package androidx.media3.exoplayer.audio; import static androidx.media3.test.utils.TestUtil.assertForwardingClassForwardsAllMethods; -import static androidx.media3.test.utils.TestUtil.assertForwardingClassOverridesAllMethods; +import static androidx.media3.test.utils.TestUtil.assertSubclassOverridesAllMethods; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; @@ -27,7 +27,7 @@ import org.junit.runner.RunWith; public final class ForwardingAudioSinkTest { @Test public void overridesAllMethods() throws NoSuchMethodException { - assertForwardingClassOverridesAllMethods(AudioSink.class, ForwardingAudioSink.class); + assertSubclassOverridesAllMethods(AudioSink.class, ForwardingAudioSink.class); } @Test diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/ForwardingTimelineTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/ForwardingTimelineTest.java index e52fb52180..48ca771eaf 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/ForwardingTimelineTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/ForwardingTimelineTest.java @@ -16,7 +16,7 @@ package androidx.media3.exoplayer.source; import static androidx.media3.test.utils.TestUtil.assertForwardingClassForwardsAllMethodsExcept; -import static androidx.media3.test.utils.TestUtil.assertForwardingClassOverridesAllMethods; +import static androidx.media3.test.utils.TestUtil.assertSubclassOverridesAllMethods; import androidx.media3.common.Timeline; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -30,7 +30,7 @@ public class ForwardingTimelineTest { @Test public void overridesAllMethods() throws Exception { - assertForwardingClassOverridesAllMethods(Timeline.class, ForwardingTimeline.class); + assertSubclassOverridesAllMethods(Timeline.class, ForwardingTimeline.class); } @Test diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorInputTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorInputTest.java index d3b21d94ed..0131034387 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorInputTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorInputTest.java @@ -26,7 +26,7 @@ public class ForwardingExtractorInputTest { @Test public void overridesAllMethods() throws Exception { - TestUtil.assertForwardingClassOverridesAllMethods( + TestUtil.assertSubclassOverridesAllMethods( ExtractorInput.class, ForwardingExtractorInput.class); } diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorOutputTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorOutputTest.java index 16b6a71139..ceaa19ef92 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorOutputTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorOutputTest.java @@ -16,7 +16,7 @@ package androidx.media3.extractor; import static androidx.media3.test.utils.TestUtil.assertForwardingClassForwardsAllMethods; -import static androidx.media3.test.utils.TestUtil.assertForwardingClassOverridesAllMethods; +import static androidx.media3.test.utils.TestUtil.assertSubclassOverridesAllMethods; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; @@ -27,8 +27,7 @@ public class ForwardingExtractorOutputTest { @Test public void overridesAllMethods() throws Exception { - assertForwardingClassOverridesAllMethods( - ExtractorOutput.class, ForwardingExtractorOutput.class); + assertSubclassOverridesAllMethods(ExtractorOutput.class, ForwardingExtractorOutput.class); } @Test diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorTest.java index b64cd7c7ec..48b65a6e83 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingExtractorTest.java @@ -16,7 +16,7 @@ package androidx.media3.extractor; import static androidx.media3.test.utils.TestUtil.assertForwardingClassForwardsAllMethods; -import static androidx.media3.test.utils.TestUtil.assertForwardingClassOverridesAllMethods; +import static androidx.media3.test.utils.TestUtil.assertSubclassOverridesAllMethods; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; @@ -27,7 +27,7 @@ public class ForwardingExtractorTest { @Test public void overridesAllMethods() throws Exception { - assertForwardingClassOverridesAllMethods(Extractor.class, ForwardingExtractor.class); + assertSubclassOverridesAllMethods(Extractor.class, ForwardingExtractor.class); } @Test diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingSeekMapTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingSeekMapTest.java index 14a607eaf5..c1ec8c320f 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingSeekMapTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingSeekMapTest.java @@ -26,7 +26,7 @@ public class ForwardingSeekMapTest { @Test public void overridesAllMethods() throws Exception { - TestUtil.assertForwardingClassOverridesAllMethods(SeekMap.class, ForwardingSeekMap.class); + TestUtil.assertSubclassOverridesAllMethods(SeekMap.class, ForwardingSeekMap.class); } @Test diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingTrackOutputTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingTrackOutputTest.java index 336ee29525..6f28040ff6 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingTrackOutputTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/ForwardingTrackOutputTest.java @@ -25,8 +25,7 @@ import org.junit.runner.RunWith; public class ForwardingTrackOutputTest { @Test public void overridesAllMethods() throws Exception { - TestUtil.assertForwardingClassOverridesAllMethods( - TrackOutput.class, ForwardingTrackOutput.class); + TestUtil.assertSubclassOverridesAllMethods(TrackOutput.class, ForwardingTrackOutput.class); } @Test diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/TestUtil.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/TestUtil.java index 5a8414f6de..39326de156 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/TestUtil.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/TestUtil.java @@ -644,29 +644,29 @@ public class TestUtil { /** * Use reflection to assert that every non-final method declared on {@code superType} is - * overridden by {@code forwardingType}. + * overridden by {@code subType}. */ - public static void assertForwardingClassOverridesAllMethods( - Class superType, Class forwardingType) throws NoSuchMethodException { - assertForwardingClassOverridesAllMethodsExcept(superType, forwardingType, ImmutableSet.of()); + public static void assertSubclassOverridesAllMethods( + Class superType, Class subType) throws NoSuchMethodException { + assertSubclassOverridesAllMethodsExcept(superType, subType, ImmutableSet.of()); } /** * Use reflection to assert that every non-final, non-excluded method declared on {@code - * superType} is overridden by {@code forwardingType}. + * superType} is overridden by {@code subType}. */ - public static void assertForwardingClassOverridesAllMethodsExcept( - Class superType, Class forwardingType, Set excludedMethods) + public static void assertSubclassOverridesAllMethodsExcept( + Class superType, Class subType, Set excludedMethods) throws NoSuchMethodException { for (Method method : TestUtil.getPublicOverridableMethods(superType)) { if (excludedMethods.contains(method.getName())) { continue; } assertThat( - forwardingType + subType .getDeclaredMethod(method.getName(), method.getParameterTypes()) .getDeclaringClass()) - .isEqualTo(forwardingType); + .isEqualTo(subType); } }