1515import static org .junit .Assert .assertFalse ;
1616import static org .junit .Assert .assertNotEquals ;
1717import static org .junit .Assert .assertNull ;
18+ import static org .junit .Assert .assertSame ;
1819import static org .junit .Assert .assertTrue ;
1920import static org .mockito .Mockito .doReturn ;
2021import static org .mockito .Mockito .spy ;
@@ -148,6 +149,15 @@ public void outOfBounds() {
148149 assertNull (queue .getItem (-1 ));
149150 assertNull (queue .getItem (5 ));
150151 }
152+
153+ @ Test
154+ public void itemsAreNotCloned () {
155+ final PlayQueueItem item = makeItemWithUrl ("A url" );
156+ final PlayQueue playQueue = makePlayQueue (0 , Collections .singletonList (item ));
157+
158+ // make sure that items are not cloned when added to the queue
159+ assertSame (playQueue .getItem (), item );
160+ }
151161 }
152162
153163 public static class EqualsTests {
@@ -162,6 +172,14 @@ public void sameStreams() {
162172 assertEquals (queue1 , queue2 );
163173 }
164174
175+ @ Test
176+ public void sameStreamsDifferentIndex () {
177+ final List <PlayQueueItem > streams = Collections .nCopies (5 , item1 );
178+ final PlayQueue queue1 = makePlayQueue (1 , streams );
179+ final PlayQueue queue2 = makePlayQueue (4 , streams );
180+ assertEquals (queue1 , queue2 );
181+ }
182+
165183 @ Test
166184 public void sameSizeDifferentItems () {
167185 final List <PlayQueueItem > streams1 = Collections .nCopies (5 , item1 );
0 commit comments