All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jp.vmi.junit.result.TestCaseResult Maven / Gradle / Ivy

package jp.vmi.junit.result;

import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import org.apache.commons.lang3.StringUtils;

import jp.vmi.selenium.selenese.utils.LogRecorder.LogMessage;

import static jp.vmi.junit.result.ObjectFactory.*;

/**
 * testcase element.
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "skipped",
    "error",
    "failure",
    "systemOut",
    "systemErr"
})
public class TestCaseResult extends TestResult {

    private static final String NL = System.getProperty("line.separator");

    @XmlTransient
    private boolean success = false;

    @XmlElement
    private Error error = null;

    @XmlElement
    private Failure failure = null;

    /**
     * Set success result.
     */
    public void setSuccess() {
        this.success = true;
    }

    /**
     * Set error result.
     *
     * @param message error message.
     * @param value error value.
     */
    public void setError(String message, String value) {
        error = factory.createError(message, value);
    }

    /**
     * Set failure result.
     *
     * @param message failure message.
     * @param value failure value.
     */
    public void setFailure(String message, String value) {
        failure = factory.createFailure(message, value);
    }

    /**
     *  Get error count.
     *
     *  @return error count.
     */
    public int getErrors() {
        return error != null ? 1 : 0;
    }

    /**
     *  Get failure count.
     *
     *  @return failure count.
     */
    public int getFailures() {
        return failure != null ? 1 : 0;
    }

    /**
     * Get skipped count.
     *
     * @return skipped count.
     */
    @XmlElementRef
    @XmlJavaTypeAdapter(SkippedAdapter.class)
    public Integer getSkipped() {
        return (!success && error == null && failure == null) ? 1 : 0;
    }

    /**
     * Get system-out message.
     *
     * @return system-out message.
     */
    @XmlElement(name = "system-out")
    public String getSystemOut() {
        List msgs = testTarget.getLogRecorder().getMessages();
        return (msgs.size() != 0) ? StringUtils.join(msgs, NL) : null;
    }

    /**
     * Get system-err message.
     *
     * @return system-err message.
     */
    @XmlElement(name = "system-err")
    public String getSystemErr() {
        List msgs = testTarget.getLogRecorder().getErrorMessages();
        return (msgs.size() != 0) ? StringUtils.join(msgs, NL) : null;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy