| /* |
| * 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; |
| } |
| } |