Chromium Code Reviews| Index: base/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java |
| diff --git a/base/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java b/base/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java |
| index 7c7cdc9f8b3ebe542302626f7b92492afe6b8e77..0f2e8ab4698902f8ab8e8650313cd2d0fd3d4742 100644 |
| --- a/base/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java |
| +++ b/base/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java |
| @@ -7,6 +7,14 @@ package org.chromium.base.test; |
| import android.app.Activity; |
| import android.test.ActivityInstrumentationTestCase2; |
| +import org.chromium.base.test.util.parameters.BaseParameter; |
| +import org.chromium.base.test.util.parameters.MethodParameter; |
| +import org.chromium.base.test.util.parameters.Parameter; |
| +import org.chromium.base.test.util.parameters.Parameterizable; |
| + |
| +import java.util.ArrayList; |
| +import java.util.List; |
| + |
| /** |
| * Base class for all Activity-based Instrumentation tests. |
| * |
| @@ -15,10 +23,45 @@ import android.test.ActivityInstrumentationTestCase2; |
| * @param <T> The Activity type. |
| */ |
| public class BaseActivityInstrumentationTestCase<T extends Activity> |
| - extends ActivityInstrumentationTestCase2<T> { |
| + extends ActivityInstrumentationTestCase2<T> implements Parameterizable { |
| + private Parameter.Reader mParameterReader; |
| + /** |
| + * Creates a instance for running tests against an Activity of the given class. |
| + * |
| + * @param activityClass The type of activity that will be tested. |
| + */ |
| public BaseActivityInstrumentationTestCase(Class<T> activityClass) { |
| super(activityClass); |
| } |
| + /** |
| + * Creates the list of available parameters that inherited classes can use. |
| + * |
| + * @return a list of {@link BaseParameter} objects that the {@link BaseTestResult} can set as |
| + * the available parameters. |
| + */ |
| + public List<BaseParameter> getAvailableParameters() { |
| + List<BaseParameter> parameters = new ArrayList<>(); |
| + parameters.add(new MethodParameter(this, getParameterReader())); |
| + return parameters; |
| + } |
| + |
| + /** |
| + * Setter method for {@link Parameter.Reader} called from the {@link BaseTestResult}. |
|
jbudorick
2015/08/06 19:16:04
nit: no need to reference what the calling site is
Sean Kirmani
2015/08/07 19:27:09
Done.
|
| + */ |
| + public void setParameterReader(Parameter.Reader parameterReader) { |
| + mParameterReader = parameterReader; |
| + } |
| + |
| + /** |
| + * Getter method for {@link Parameter.Reader} object to be used by test cases reading the |
| + * parameter. |
| + * |
| + * @return the {@link Parameter.Reader} that is set by the {@link BaseTestResult} for the |
| + * current {@link ParameterizedTest} being run. |
| + */ |
| + public Parameter.Reader getParameterReader() { |
| + return mParameterReader; |
| + } |
| } |