001/**
002 * Powerunit - A JDK1.8 test framework
003 * Copyright (C) 2014 Mathieu Boretti.
004 *
005 * This file is part of Powerunit
006 *
007 * Powerunit is free software: you can redistribute it and/or modify
008 * it under the terms of the GNU General Public License as published by
009 * the Free Software Foundation, either version 3 of the License, or
010 * (at your option) any later version.
011 *
012 * Powerunit is distributed in the hope that it will be useful,
013 * but WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
015 * GNU General Public License for more details.
016 *
017 * You should have received a copy of the GNU General Public License
018 * along with Powerunit. If not, see <http://www.gnu.org/licenses/>.
019 */
020package ch.powerunit;
021
022/**
023 * This interface define the execution test context.
024 *
025 * @author borettim
026 * @param <T>
027 *            the test object type.
028 */
029public interface TestContext<T> {
030    /**
031     * Return the current testName
032     * 
033     * @return the testName
034     */
035    String getFullTestName();
036
037    /**
038     * Return the current SetName
039     * 
040     * @return the setName
041     */
042    String getSetName();
043
044    /**
045     * Return the local test name
046     * 
047     * @return the localTestName
048     */
049    String getLocalTestName();
050
051    /**
052     * Return the ParameterName
053     * 
054     * @return the parameterName or null if not applicable
055     */
056    String getParameterName();
057
058    /**
059     * Return the test categories
060     * 
061     * @return the test categories
062     */
063    String getTestCategories();
064
065    /**
066     * Return the object used for the test suite.
067     * 
068     * @return the test object.
069     */
070    T getTestSuiteObject();
071}