KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nextapp > echo2 > app > test > SplitPaneTest


1 /*
2  * This file is part of the Echo Web Application Framework (hereinafter "Echo").
3  * Copyright (C) 2002-2005 NextApp, Inc.
4  *
5  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6  *
7  * The contents of this file are subject to the Mozilla Public License Version
8  * 1.1 (the "License"); you may not use this file except in compliance with
9  * the License. You may obtain a copy of the License at
10  * http://www.mozilla.org/MPL/
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * Alternatively, the contents of this file may be used under the terms of
18  * either the GNU General Public License Version 2 or later (the "GPL"), or
19  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
20  * in which case the provisions of the GPL or the LGPL are applicable instead
21  * of those above. If you wish to allow use of your version of this file only
22  * under the terms of either the GPL or the LGPL, and not to allow others to
23  * use your version of this file under the terms of the MPL, indicate your
24  * decision by deleting the provisions above and replace them with the notice
25  * and other provisions required by the GPL or the LGPL. If you do not delete
26  * the provisions above, a recipient may use your version of this file under
27  * the terms of any one of the MPL, the GPL or the LGPL.
28  */

29
30 package nextapp.echo2.app.test;
31
32 import junit.framework.TestCase;
33 import nextapp.echo2.app.Color;
34 import nextapp.echo2.app.Extent;
35 import nextapp.echo2.app.IllegalChildException;
36 import nextapp.echo2.app.Label;
37 import nextapp.echo2.app.SplitPane;
38
39 /**
40  * Unit test(s) for the <code>nextapp.echo2.app.SplitPane</code> component.
41  */

42 public class SplitPaneTest extends TestCase {
43
44     /**
45      * Test empty constructor and verify default state.
46      */

47     public void testEmptyConstructor() {
48         SplitPane splitPane = new SplitPane();
49         assertNull(splitPane.getSeparatorPosition());
50         assertFalse(splitPane.isResizable());
51     }
52     
53     /**
54      * Test receiving input from client.
55      */

56     public void testInput() {
57         SplitPane splitPane = new SplitPane();
58         splitPane.add(new Label("one label"));
59         splitPane.add(new Label("one more label"));
60         splitPane.setSeparatorPosition(new Extent(80));
61         splitPane.processInput(SplitPane.PROPERTY_SEPARATOR_POSITION, new Extent(212));
62         assertEquals(new Extent(212), splitPane.getSeparatorPosition());
63     }
64     
65     /**
66      * Attempt to illegally add more than two children, tests for failure.
67      */

68     public void testOverload() {
69         SplitPane splitPane = new SplitPane();
70         splitPane.add(new Label("one label"));
71         splitPane.add(new Label("one more label"));
72         boolean exceptionThrown = false;
73         try {
74             splitPane.add(new Label("one label too many"));
75         } catch (IllegalChildException ex) {
76             exceptionThrown = true;
77         }
78         assertTrue(exceptionThrown);
79     }
80
81     /**
82      * Test primary constructor.
83      */

84     public void testPrimaryConstructor() {
85         SplitPane splitPane;
86         splitPane = new SplitPane(SplitPane.ORIENTATION_VERTICAL, TestConstants.EXTENT_200_PX);
87         assertEquals(SplitPane.ORIENTATION_VERTICAL, splitPane.getOrientation());
88         assertEquals(TestConstants.EXTENT_200_PX, splitPane.getSeparatorPosition());
89         
90         splitPane = new SplitPane(SplitPane.ORIENTATION_HORIZONTAL, TestConstants.EXTENT_500_PX);
91         assertEquals(SplitPane.ORIENTATION_HORIZONTAL, splitPane.getOrientation());
92         assertEquals(TestConstants.EXTENT_500_PX, splitPane.getSeparatorPosition());
93     }
94     
95     /**
96      * Test property accessors and mutators.
97      */

98     public void testProperties() {
99         SplitPane splitPane = new SplitPane();
100         splitPane.setOrientation(SplitPane.ORIENTATION_VERTICAL);
101         assertEquals(SplitPane.ORIENTATION_VERTICAL, splitPane.getOrientation());
102         splitPane.setSeparatorPosition(TestConstants.EXTENT_200_PX);
103         assertEquals(TestConstants.EXTENT_200_PX, splitPane.getSeparatorPosition());
104         splitPane.setSeparatorHeight(TestConstants.EXTENT_30_PX);
105         assertEquals(TestConstants.EXTENT_30_PX, splitPane.getSeparatorHeight());
106         splitPane.setSeparatorWidth(TestConstants.EXTENT_100_PX);
107         assertEquals(TestConstants.EXTENT_100_PX, splitPane.getSeparatorWidth());
108         splitPane.setSeparatorColor(Color.RED);
109         assertEquals(Color.RED, splitPane.getSeparatorColor());
110         splitPane.setResizable(true);
111         assertEquals(true, splitPane.isResizable());
112         splitPane.setSeparatorHorizontalImage(TestConstants.BACKGROUND_IMAGE);
113         assertEquals(TestConstants.BACKGROUND_IMAGE, splitPane.getSeparatorHorizontalImage());
114         splitPane.setSeparatorVerticalImage(TestConstants.BACKGROUND_IMAGE);
115         splitPane.setSeparatorHorizontalImage(null);
116         assertEquals(TestConstants.BACKGROUND_IMAGE, splitPane.getSeparatorVerticalImage());
117     }
118 }
119
Popular Tags