KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tonbeller > wcf > changeorder > ChangeOrderUtilsTest


1 package com.tonbeller.wcf.changeorder;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.Arrays JavaDoc;
5
6 import junit.framework.TestCase;
7
8 /**
9  * @author av
10  */

11 public class ChangeOrderUtilsTest extends TestCase {
12
13   Object JavaDoc[] array;
14   ArrayList JavaDoc list;
15   
16   public ChangeOrderUtilsTest(String JavaDoc arg0) {
17     super(arg0);
18   }
19   
20   protected void setUp() {
21     array = new Object JavaDoc[] {"A", "B", "C", "D" };
22     list = new ArrayList JavaDoc();
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 JavaDoc 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 JavaDoc cs = "" + c[i];
37       String JavaDoc 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 JavaDoc 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