Package harness

Source Code of harness.CastorTestCase

/**
* Redistribution and use of this software and associated documentation
* ("Software"), with or without modification, are permitted provided
* that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright
*    statements and notices.  Redistributions must also contain a
*    copy of this document.
*
* 2. Redistributions in binary form must reproduce the
*    above copyright notice, this list of conditions and the
*    following disclaimer in the documentation and/or other
*    materials provided with the distribution.
*
* 3. The name "Exolab" must not be used to endorse or promote
*    products derived from this Software without prior written
*    permission of Intalio, Inc.  For written permission,
*    please contact info@exolab.org.
*
* 4. Products derived from this Software may not be called "Exolab"
*    nor may "Exolab" appear in their names without prior written
*    permission of Intalio, Inc. Exolab is a registered
*    trademark of Intalio, Inc.
*
* 5. Due credit should be given to the Exolab Project
*    (http://www.exolab.org/).
*
* THIS SOFTWARE IS PROVIDED BY INTALIO, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
* NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
* INTALIO, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Copyright 2001 (C) Intalio, Inc. All Rights Reserved.
*
* $$
*/

package harness;

import java.io.PrintStream;

import jdo.JDOCategory;
import junit.framework.TestCase;
import junit.framework.TestResult;

import org.exolab.castor.jdo.Database;

public class CastorTestCase extends TestCase {

    private String _description;

    private TestHarness _suite;

    private String _name;

    public static PrintStream _stream;

    public static boolean _verbose;

    public CastorTestCase(final TestHarness suite, final String name, final String description) {
        super(name);
        setName(name);
        setDescription(description);
        setSuite(suite);
    }

    /**
     * @param name
     */
    public CastorTestCase(final String name) {
        super (name);
    }

    private void clearCache() {
        try {
            if (_suite instanceof JDOCategory) {
                Database db = ((JDOCategory) _suite).getDatabase();
                db.getCacheManager().expireCache();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void setVerboseStream(final PrintStream verboseStream) {
        _stream = verboseStream;
    }

    public static PrintStream getVerboseStream() {
        return _stream;
    }
   
    public static void setVerbose(final boolean vb) {
        _verbose = vb;
    }
   
    public static boolean getVerbose() {
        return _verbose;
    }
   
    public void setName(final String name) {
        this._name = name;
    }
   
    public String getName() {
        return this._name;
    }
   
    public String getDescription() {
        return _description;
    }
   
    public void setDescription(final String desc) {
        this._description = desc;
    }
   
    public void setSuite(final TestHarness superTest) {
        this._suite = superTest;
    }
   
    public TestHarness getSuite() {
        return _suite;
    }
   
    public void printInfo(final PrintStream ps) {
        printInfo(ps, null);
    }

    public void printInfo(final PrintStream ps, final String branch) {
        if ((branch == null) || branch.equals("") || branch.startsWith(getName())) {
            StringBuffer sb = new StringBuffer();
            sb.append(getName());
            TestHarness upper = _suite;
            while (upper != null) {
                sb.insert(0, ".");
                sb.insert(0, upper.getName());
                upper = upper.getSuite();
            }
            sb.insert(0, "[");
            sb.append("]");
            sb.append(' ');
            sb.append(_description);
            sb.append('\n');
            ps.print(sb.toString());
        }
    }

    public void run(final TestResult result) {
        System.out.println();
        System.out.print("Test: " + getName() + " " + getDescription() + " ");
        super.run(result);
        clearCache();
    }

    public void run(final TestResult result, final String branch) {
        System.out.println("Test: " + getName() + " Branch: " + branch);
        if ((branch == null) || branch.equals("")) {
            run(result);
        }
    }

    public String toString() {
        StringBuffer sb = new StringBuffer();
        sb.append(getName());
        TestHarness upper = _suite;
        while (upper != null) {
            sb.insert(0, ".");
            sb.insert(0, upper.getName());
            upper = upper.getSuite();
        }
        sb.insert(0, "[");
        sb.append("]");
        sb.append(' ');
        sb.append(_description);
        sb.append('\n');

        return sb.toString();
    }
}
TOP

Related Classes of harness.CastorTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.