1   /*
2    * Scope: a generic MVC framework.
3    * Copyright (c) 2000-2002, The Scope team
4    * All rights reserved.
5    *
6    *
7    * Redistribution and use in source and binary forms, with or without
8    * modification, are permitted provided that the following conditions
9    * are met:
10   *
11   * Redistributions of source code must retain the above copyright
12   * notice, this list of conditions and the following disclaimer.
13   *
14   * Redistributions in binary form must reproduce the above copyright
15   * notice, this list of conditions and the following disclaimer in the
16   * documentation and/or other materials provided with the distribution.
17   *
18   * Neither the name "Scope" nor the names of its contributors
19   * may be used to endorse or promote products derived from this software
20   * without specific prior written permission.
21   *
22   *
23   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26   * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR
27   * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28   * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29   * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30   * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31   * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32   * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33   * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34   *
35   *
36   * $Id: TestSModelButton.java,v 1.1 2002/09/13 17:12:12 ludovicc Exp $
37   */
38  package test.view.swing;
39  
40  import java.lang.Integer;
41  import junit.framework.TestCase;
42  import org.scopemvc.core.Control;
43  import org.scopemvc.core.Selector;
44  import org.scopemvc.view.swing.SModelButton;
45  import org.scopemvc.view.swing.SPanel;
46  
47  /***
48   * TODO: document the class
49   *
50   * @author <a href="mailto:ludovicc@users.sourceforge.net>Ludovic Claude</a>
51   * @created 12 September 2002
52   */
53  
54  public class TestSModelButton extends TestCase {
55  
56      private SwingDummyModel model;
57      private SModelButton button;
58      private SwingDummyController controller;
59      private SPanel panel;
60  
61      /***
62       * Constructor for the TestSModelButton object
63       *
64       * @param inName Name of the test
65       */
66      public TestSModelButton(String inName) {
67          super(inName);
68      }
69  
70      /***
71       * A unit test for JUnit
72       *
73       * @throws Exception Any abnormal exception
74       */
75      public void testControl() throws Exception {
76          button = new SModelButton("Test", Selector.fromString("stringProperty"));
77          panel.add(button);
78          controller.setModel(model);
79  
80          assertEquals("Test", button.getText());
81          SuiteViewSwing.waitForAWT();
82          assertTrue(button.isEnabled());
83  
84          button.doClick();
85          SuiteViewSwing.waitForAWT();
86          assertEquals(new Control("Test", model.getStringProperty()), controller.lastControl);
87      }
88  
89      /***
90       * A unit test for JUnit
91       *
92       * @throws Exception Any abnormal exception
93       */
94      public void testDisabledControl() throws Exception {
95          button = new SModelButton("Test", Selector.fromString("stringProperty"));
96          panel.add(button);
97          controller.setModel(model);
98  
99          model.setStringProperty(null);
100         SuiteViewSwing.waitForAWT();
101         assertTrue(!button.isEnabled());
102 
103         model.setStringProperty("notnull");
104         SuiteViewSwing.waitForAWT();
105         assertTrue(button.isEnabled());
106     }
107 
108     /***
109      * A unit test for JUnit
110      *
111      * @throws Exception Any abnormal exception
112      */
113     public void testValueTest() throws Exception {
114         button = new SModelButton("Test", Selector.fromString("intProperty"));
115         panel.add(button);
116         controller.setModel(model);
117 
118         // should be enabled if the bound value is an integer less than 1
119         button.setValueTest(new Integer(1));
120 
121         model.setIntProperty(0);
122         SuiteViewSwing.waitForAWT();
123         assertTrue(button.isEnabled());
124 
125         model.setIntProperty(1);
126         SuiteViewSwing.waitForAWT();
127         assertTrue(!button.isEnabled());
128 
129         model.setIntProperty(2);
130         SuiteViewSwing.waitForAWT();
131         assertTrue(!button.isEnabled());
132 
133     }
134 
135     /***
136      * The JUnit setup method
137      *
138      * @throws Exception Any abnormal exception
139      */
140     protected void setUp() throws Exception {
141 
142         model = new SwingDummyModel();
143         panel = new SPanel();
144 
145         controller = new SwingDummyController();
146         controller.setView(panel);
147 
148         controller.startup();
149     }
150 
151 
152     /***
153      * The teardown method for JUnit
154      */
155     protected void tearDown() {
156         controller.shutdown();
157     }
158 
159 }
This page was automatically generated by Maven