KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > edu > rice > cs > util > docnavigation > JListSortNavigatorTest


1  /*BEGIN_COPYRIGHT_BLOCK
2  *
3  * This file is part of DrJava. Download the current version of this project from http://www.drjava.org/
4  * or http://sourceforge.net/projects/drjava/
5  *
6  * DrJava Open Source License
7  *
8  * Copyright (C) 2001-2006 JavaPLT group at Rice University (javaplt@rice.edu). All rights reserved.
9  *
10  * Developed by: Java Programming Languages Team, Rice University, http://www.cs.rice.edu/~javaplt/
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
13  * documentation files (the "Software"), to deal with the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
15  * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
16  *
17  * - Redistributions of source code must retain the above copyright notice, this list of conditions and the
18  * following disclaimers.
19  * - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
20  * following disclaimers in the documentation and/or other materials provided with the distribution.
21  * - Neither the names of DrJava, the JavaPLT, Rice University, nor the names of its contributors may be used to
22  * endorse or promote products derived from this Software without specific prior written permission.
23  * - Products derived from this software may not be called "DrJava" nor use the term "DrJava" as part of their
24  * names without prior written permission from the JavaPLT group. For permission, write to javaplt@rice.edu.
25  *
26  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
27  * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28  * CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
29  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
30  * WITH THE SOFTWARE.
31  *
32  *END_COPYRIGHT_BLOCK*/

33
34 package edu.rice.cs.util.docnavigation;
35
36 import junit.framework.TestCase;
37
38 import edu.rice.cs.util.swing.Utilities;
39 import edu.rice.cs.drjava.DrJavaTestCase;
40
41 import java.io.*;
42 import java.util.*;
43
44 public class JListSortNavigatorTest extends DrJavaTestCase {
45   
46   protected JListSortNavigator<DummyINavigatorItem> list;
47   protected DummyINavigatorItem i1, i2, i3, i4;
48   
49   public void setUp() throws Exception JavaDoc {
50     super.setUp();
51
52     list = new JListSortNavigator<DummyINavigatorItem>();
53     
54     i1 = new DummyINavigatorItem("item1");
55     i2 = new DummyINavigatorItem("item2");
56     i3 = new DummyINavigatorItem("item3");
57     i4 = new DummyINavigatorItem("item4");
58     list.addDocument(i1);
59     list.addDocument(i2);
60     list.addDocument(i3);
61     list.addDocument(i4);
62   }
63   
64   public void testTraversalOps() {
65     assertEquals("doc count test", 4, list.getDocumentCount());
66     assertSame("getFirst test", i1, list.getFirst());
67     assertSame("getLast test", i4, list.getLast());
68     
69     list.setNextChangeModelInitiated(true);
70     list.setActiveDoc(i1);
71     
72     Utilities.clearEventQueue();
73     assertSame("getCurrent test", i1, list.getCurrent());
74     assertSame("getNext test 1", i2, list.getNext(i1));
75     assertSame("getNext test 2", i3, list.getNext(i2));
76     assertSame("getNext test 3", i4, list.getNext(i3));
77
78     assertSame("getPrevious test 1", i3, list.getPrevious(i4));
79     assertSame("getPrevious test 2", i2, list.getPrevious(i3));
80     assertSame("getPrevious test 3", i1, list.getPrevious(i2));
81     
82     assertTrue("contains test 1", list.contains(i1));
83     assertTrue("contains test 2", list.contains(i2));
84     assertTrue("contains test 3", list.contains(i3));
85     assertTrue("contains test 4", list.contains(i4));
86     
87     assertFalse("contains test 5", list.contains(new DummyINavigatorItem("item1")));
88     
89     Enumeration<DummyINavigatorItem> docs = list.getDocuments();
90     DummyINavigatorItem[] docsArray = new DummyINavigatorItem[4];
91     for (int i = 0; i < 4; i++) docsArray[i] = docs.nextElement();
92     assertTrue("getDocuments test", Arrays.equals(docsArray, new DummyINavigatorItem[] {i1, i2, i3, i4}));
93   }
94   
95 }
Popular Tags