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.rules;
021
022import ch.powerunit.TestContext;
023
024/**
025 * This rule can be used to have access to the {@link TestContext test execution
026 * context} from inside a test.
027 *
028 * @author borettim
029 *
030 */
031public final class TestContextRule implements TestListenerRule {
032
033    private TestContext<Object> testContext;
034
035    /*
036     * (non-Javadoc)
037     * 
038     * @see
039     * ch.powerunit.rules.ExternalResource#onStart(ch.powerunit.TestContext)
040     */
041    @Override
042    public void onStart(TestContext<Object> context) {
043        this.testContext = context;
044    }
045
046    /**
047     * Retrieve the test context object.
048     * 
049     * @return the testContext.
050     */
051    public TestContext<Object> getTestContext() {
052        return testContext;
053    }
054
055}