16
16
package androidx .media3 .exoplayer .trackselection ;
17
17
18
18
import static com .google .common .truth .Truth .assertThat ;
19
- import static org .junit .Assert .fail ;
19
+ import static org .junit .Assert .assertThrows ;
20
20
21
21
import androidx .annotation .Nullable ;
22
22
import androidx .media3 .common .Timeline ;
@@ -59,12 +59,7 @@ public void onSelectionActivated(@Nullable Object info) {}
59
59
60
60
@ Test
61
61
public void getBandwidthMeter_beforeInitialization_throwsException () {
62
- try {
63
- trackSelector .getBandwidthMeter ();
64
- fail ();
65
- } catch (Exception e ) {
66
- // Expected.
67
- }
62
+ assertThrows (IllegalStateException .class , () -> trackSelector .getBandwidthMeter ());
68
63
}
69
64
70
65
@ Test
@@ -73,6 +68,30 @@ public void getBandwidthMeter_afterInitialization_returnsProvidedBandwidthMeter(
73
68
BandwidthMeter bandwidthMeter = Mockito .mock (BandwidthMeter .class );
74
69
trackSelector .init (invalidationListener , bandwidthMeter );
75
70
76
- assertThat (trackSelector .getBandwidthMeter ()).isEqualTo (bandwidthMeter );
71
+ assertThat (trackSelector .getBandwidthMeter ()).isSameInstanceAs (bandwidthMeter );
72
+ }
73
+
74
+ @ Test
75
+ public void getBandwidthMeter_afterRelease_throwsException () {
76
+ InvalidationListener invalidationListener = Mockito .mock (InvalidationListener .class );
77
+ BandwidthMeter bandwidthMeter = Mockito .mock (BandwidthMeter .class );
78
+ trackSelector .init (invalidationListener , bandwidthMeter );
79
+
80
+ trackSelector .release ();
81
+
82
+ assertThrows (IllegalStateException .class , () -> trackSelector .getBandwidthMeter ());
83
+ }
84
+
85
+ @ Test
86
+ public void initialize_afterRelease () {
87
+ InvalidationListener invalidationListener = Mockito .mock (InvalidationListener .class );
88
+ BandwidthMeter bandwidthMeter = Mockito .mock (BandwidthMeter .class );
89
+ trackSelector .init (invalidationListener , bandwidthMeter );
90
+
91
+ trackSelector .release ();
92
+ BandwidthMeter anotherBandwidthMeter = Mockito .mock (BandwidthMeter .class );
93
+ trackSelector .init (invalidationListener , anotherBandwidthMeter );
94
+
95
+ assertThat (trackSelector .getBandwidthMeter ()).isSameInstanceAs (anotherBandwidthMeter );
77
96
}
78
97
}
0 commit comments