package com.wigwamlabs.spotify.tests; import com.wigwamlabs.spotify.DummyNativeItemContainer; import junit.framework.TestCase; public class NativeItemContainerTest extends TestCase { public void testAddingMultipleAtStart() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("new-1 new-2 new-3 a b c".split("\\s+")); container.onItemsMoved(new int[]{-1, -1, -1}, 0); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testAddingMultipleAtEnd() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("a b c new-1 new-2 new-3".split("\\s+")); container.onItemsMoved(new int[]{-1, -1, -1}, 3); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testRemoveMultipleAtStart() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c d e f".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("d e f".split("\\s+")); container.onItemsMoved(new int[]{0, 1, 2}, -1); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testRemoveMultipleAtEnd() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c d e f".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("a b c".split("\\s+")); container.onItemsMoved(new int[]{3, 4, 5}, -1); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testRemoveRandomOrder() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c d e f g".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("b d f".split("\\s+")); container.onItemsMoved(new int[]{6, 0, 4, 2}, -1); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveBlockToStart() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c d e f".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("d e f a b c".split("\\s+")); container.onItemsMoved(new int[]{3, 4, 5}, 0); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveBlockToEnd() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c d e f".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("d e f a b c".split("\\s+")); container.onItemsMoved(new int[]{0, 1, 2}, 6); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveRandomToStart() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c d e f g".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("g a e c b d f".split("\\s+")); container.onItemsMoved(new int[]{6, 0, 4, 2}, 0); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveRandomToEnd() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("a b c d e f g".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("b d f g a e c".split("\\s+")); container.onItemsMoved(new int[]{6, 0, 4, 2}, 7); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveRandom2to0() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("0 1 2 3".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("1 3 0 2".split("\\s+")); container.onItemsMoved(new int[]{1, 3}, 0); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveRandom2to1() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("0 1 2 3".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("0 1 3 2".split("\\s+")); container.onItemsMoved(new int[]{1, 3}, 1); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveRandom2to2() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("0 1 2 3".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("0 1 3 2".split("\\s+")); container.onItemsMoved(new int[]{1, 3}, 2); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveRandom2to3() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("0 1 2 3".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("0 2 1 3".split("\\s+")); container.onItemsMoved(new int[]{1, 3}, 3); assertEquals(container.getNativeItems(), container.getContainerItems()); } public void testMoveRandom2to4() { final DummyNativeItemContainer container = new DummyNativeItemContainer(); container.setNativeItems("0 1 2 3".split("\\s+")); assertEquals(container.getNativeItems(), container.getContainerItems()); container.setNativeItems("0 2 1 3".split("\\s+")); container.onItemsMoved(new int[]{1, 3}, 4); assertEquals(container.getNativeItems(), container.getContainerItems()); } }