blob: 0099c9bf6db020f47818b18b660640b7deb7a324 [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.framework;
/**
* <p><b>Purpose</b>:A wrapper around TestCase.
* Use it to aggregate test instead of inheriting from it.
* Suppose we need to amend in the same way
* setup and reset for unspecified number of TestCase's subclasses.
* Using TestWrapper, we need only one new class to define:
* public class MyTestWrapper extends TestWrapper {
* public MyTestWrapper(TestCase test) {
* super(test);
* }
* protected void setup() throws Exception {
* // add something
* super.setup();
* }
* public void reset() throws Exception {
* super.reset();
* // add something
* }
* }
*
* Note that TestWrapper doesn't call the "wrapped" test set/get methods,
* except setExecutor(..)/getExecutor().
* That allows to use several wrappers around the same "wrapped" test,
* and it is important for TestVariation.
*
*/
public class TestWrapper extends TestCase {
protected TestCase test;
public TestWrapper(TestCase test) {
this.test = test;
setName(test.getName());
setDescription(test.getDescription());
}
@Override
protected void setup() throws Throwable {
test.setup();
}
@Override
protected void test() throws Throwable {
test.test();
}
@Override
protected void verify() throws Throwable {
test.verify();
}
@Override
public void reset() throws Throwable {
test.reset();
}
@Override
protected void resetVerify() throws Throwable {
test.resetVerify();
}
@Override
public TestExecutor getExecutor() {
return test.getExecutor();
}
@Override
public void setExecutor(TestExecutor anExecutor) {
test.setExecutor(anExecutor);
}
public TestCase getWrappedTest() {
return test;
}
}