1 package com.tonbeller.wcf.changeorder; 2 3 import java.util.ArrayList ; 4 import java.util.Arrays ; 5 6 import junit.framework.TestCase; 7 8 11 public class ChangeOrderUtilsTest extends TestCase { 12 13 Object [] array; 14 ArrayList list; 15 16 public ChangeOrderUtilsTest(String arg0) { 17 super(arg0); 18 } 19 20 protected void setUp() { 21 array = new Object [] {"A", "B", "C", "D" }; 22 list = new ArrayList (); 23 list.addAll(Arrays.asList(array)); 24 } 25 26 void move(int oldIndex, int newIndex) { 27 ChangeOrderUtils.move(array, oldIndex, newIndex); 28 ChangeOrderUtils.move(list, oldIndex, newIndex); 29 } 30 31 void assertExpected(String s) { 32 char c[] = s.toCharArray(); 33 assertEquals(c.length, array.length); 34 assertEquals(c.length, list.size()); 35 for (int i = 0; i < c.length; i++) { 36 String cs = "" + c[i]; 37 String is = "" + i; 38 assertEquals(is, cs, array[i]); 39 assertEquals(is, cs, list.get(i)); 40 } 41 } 42 43 void check(int oldIndex, int newIndex, String expected) { 44 setUp(); 45 move(oldIndex, newIndex); 46 assertExpected(expected); 47 } 48 49 public void testOutOfBounds() { 50 check(0, -1, "ABCD"); 51 check(-1, 0, "ABCD"); 52 check(-1, -1, "ABCD"); 53 check(0, 11, "ABCD"); 54 check(11, 1, "ABCD"); 55 check(11, -99, "ABCD"); 56 } 57 58 public void checkEquals() { 59 check(0,0,"ABCD"); 60 check(1,1,"ABCD"); 61 check(2,2,"ABCD"); 62 check(3,3,"ABCD"); 63 } 64 65 public void testAll() { 66 check(0, 0, "ABCD"); 67 check(0, 1, "BACD"); 68 check(0, 2, "BCAD"); 69 check(0, 3, "BCDA"); 70 71 check(1, 0, "BACD"); 72 check(1, 1, "ABCD"); 73 check(1, 2, "ACBD"); 74 check(1, 3, "ACDB"); 75 76 check(2, 0, "CABD"); 77 check(2, 1, "ACBD"); 78 check(2, 2, "ABCD"); 79 check(2, 3, "ABDC"); 80 81 check(3, 0, "DABC"); 82 check(3, 1, "ADBC"); 83 check(3, 2, "ABDC"); 84 check(3, 3, "ABCD"); 85 } 86 87 } 88 | Popular Tags |