001: /*
002: * @(#)DefaultMonitorUTest.java
003: *
004: * Copyright (C) 2002-2003 Matt Albrecht
005: * groboclown@users.sourceforge.net
006: * http://groboutils.sourceforge.net
007: *
008: * Permission is hereby granted, free of charge, to any person obtaining a
009: * copy of this software and associated documentation files (the "Software"),
010: * to deal in the Software without restriction, including without limitation
011: * the rights to use, copy, modify, merge, publish, distribute, sublicense,
012: * and/or sell copies of the Software, and to permit persons to whom the
013: * Software is furnished to do so, subject to the following conditions:
014: *
015: * The above copyright notice and this permission notice shall be included in
016: * all copies or substantial portions of the Software.
017: *
018: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
019: * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
020: * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
021: * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
022: * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
023: * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
024: * DEALINGS IN THE SOFTWARE.
025: */
026:
027: package net.sourceforge.groboutils.autodoc.v1.testserver;
028:
029: import net.sourceforge.groboutils.autodoc.v1.*;
030:
031: import org.easymock.EasyMock;
032: import org.easymock.MockControl;
033: import net.sourceforge.groboutils.junit.v1.iftc.*;
034: import junit.framework.Test;
035: import junit.framework.TestCase;
036: import junit.framework.TestSuite;
037:
038: /**
039: * Tests the DefaultMonitor class.
040: *
041: * @author Matt Albrecht <a href="mailto:groboclown@users.sourceforge.net">groboclown@users.sourceforge.net</a>
042: * @since March 27, 2002
043: * @version $Date: 2003/06/10 01:08:41 $
044: */
045: public class DefaultMonitorUTest extends TestCase {
046: //-------------------------------------------------------------------------
047: // Standard JUnit Class-specific declarations
048:
049: private static final Class THIS_CLASS = DefaultMonitorUTest.class;
050:
051: public DefaultMonitorUTest(String name) {
052: super (name);
053: }
054:
055: //-------------------------------------------------------------------------
056: // setup
057:
058: /**
059: *
060: * @exception Exception thrown under any exceptional condition.
061: */
062: protected void setUp() throws Exception {
063: super .setUp();
064:
065: // set ourself up
066: }
067:
068: //-------------------------------------------------------------------------
069: // Tests
070:
071: public void testConstructor1() {
072: try {
073: new DefaultMonitor(null, null);
074: fail("Did not throw an IllegalArgumentException");
075: } catch (IllegalArgumentException ise) {
076: // test error?
077: }
078: }
079:
080: public void testConstructor2() {
081: Server s = new MyServer();
082: try {
083: new DefaultMonitor(s, null);
084: fail("Did not throw an IllegalArgumentException");
085: } catch (IllegalArgumentException ise) {
086: // test error?
087: }
088: }
089:
090: public void testConstructor3() {
091: TestDataFactory tdf = new MyTDFactory();
092: try {
093: new DefaultMonitor(null, tdf);
094: fail("Did not throw an IllegalArgumentException");
095: } catch (IllegalArgumentException ise) {
096: // test error?
097: }
098: }
099:
100: public void testRemoveInfoOnSend1() {
101: DefaultMonitor dm = new DefaultMonitor(new MyServer(),
102: new MyTDFactory());
103: TestInfo ti = new DefaultTestInfo("A", "b");
104: dm.addTestData(ti);
105: dm.sendTestData(ti);
106: try {
107: dm.getTestData(ti);
108: fail("Did not throw an IllegalStateException.");
109: } catch (IllegalStateException ise) {
110: // test exception
111: }
112: }
113:
114: //-------------------------------------------------------------------------
115: // Helpers
116:
117: protected static class MyServer implements Server {
118: public void addTestData(TestData td) {
119: // do nothing
120: }
121: }
122:
123: protected static class MyTestData implements TestData {
124: TestInfo info;
125:
126: public MyTestData(TestInfo ti) {
127: this .info = ti;
128: }
129:
130: public TestInfo getTestInfo() {
131: return this .info;
132: }
133: }
134:
135: protected static class MyTDFactory implements TestDataFactory {
136: public TestData createTestData(TestInfo info) {
137: return new MyTestData(info);
138: }
139: }
140:
141: //-------------------------------------------------------------------------
142: // Standard JUnit declarations
143:
144: public static Test suite() {
145: InterfaceTestSuite suite = MonitorUTestI.suite();
146: suite.addTestSuite(THIS_CLASS);
147: suite.addFactory(new CxFactory("A") {
148: public Object createImplObject() {
149: Server s = new MyServer();
150: TestDataFactory tdf = new MyTDFactory();
151: return new DefaultMonitor(s, tdf);
152: }
153: });
154:
155: return suite;
156: }
157:
158: public static void main(String[] args) {
159: String[] name = { THIS_CLASS.getName() };
160:
161: // junit.textui.TestRunner.main( name );
162: // junit.swingui.TestRunner.main( name );
163:
164: junit.textui.TestRunner.main(name);
165: }
166:
167: /**
168: *
169: * @exception Exception thrown under any exceptional condition.
170: */
171: protected void tearDown() throws Exception {
172: // tear ourself down
173:
174: super.tearDown();
175: }
176: }
|