001: /*
002: * @(#)CoverageLoggerUTest.java
003: *
004: * Copyright (C) 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.codecoverage.v2.logger;
028:
029: import junit.framework.Test;
030: import junit.framework.TestCase;
031: import junit.framework.TestSuite;
032: import net.sourceforge.groboutils.autodoc.v1.AutoDoc;
033:
034: /**
035: * Tests the CoverageLogger class.
036: *
037: * @author Matt Albrecht <a href="mailto:groboclown@users.sourceforge.net">groboclown@users.sourceforge.net</a>
038: * @version $Date: 2004/04/15 05:48:28 $
039: * @since January 22, 2003
040: */
041: public class CoverageLoggerUTest extends TestCase {
042: //-------------------------------------------------------------------------
043: // Standard JUnit Class-specific declarations
044:
045: private static final Class THIS_CLASS = CoverageLoggerUTest.class;
046: private static final AutoDoc DOC = new AutoDoc(THIS_CLASS);
047:
048: public CoverageLoggerUTest(String name) {
049: super (name);
050: }
051:
052: //-------------------------------------------------------------------------
053: // Tests
054:
055: public void testDescription1() {
056: DOC
057: .getLog()
058: .warn(
059: "The CoverageLogger class is very difficult to test if we "
060: + "assume that the class is being code covered, as it creates a "
061: + "chicken-and-the-egg scenario. If we allow ourselves to test "
062: + "this class, then we must temporarily corrupt the state of the "
063: + "testing.");
064: DOC
065: .getLog()
066: .warn(
067: "One way to test is through reflection by loading another "
068: + "instance of the class. This would use difficult (and fragile) "
069: + "manipulation of the class and its static state. Another would "
070: + "be to only run this unit test without code coverage running.");
071: DOC.getLog().warn(
072: "Perhaps the correct solution is to rearchitect the class such "
073: + "that it is easier to test.");
074: }
075:
076: //-------------------------------------------------------------------------
077: // Helpers
078:
079: //-------------------------------------------------------------------------
080: // Standard JUnit declarations
081:
082: public static Test suite() {
083: TestSuite suite = new TestSuite(THIS_CLASS);
084:
085: return suite;
086: }
087:
088: public static void main(String[] args) {
089: String[] name = { THIS_CLASS.getName() };
090:
091: // junit.textui.TestRunner.main( name );
092: // junit.swingui.TestRunner.main( name );
093:
094: junit.textui.TestRunner.main(name);
095: }
096:
097: /**
098: *
099: * @exception Exception thrown under any exceptional condition.
100: */
101: protected void setUp() throws Exception {
102: super .setUp();
103:
104: // set ourself up
105: }
106:
107: /**
108: *
109: * @exception Exception thrown under any exceptional condition.
110: */
111: protected void tearDown() throws Exception {
112: // tear ourself down
113:
114: super.tearDown();
115: }
116: }
|