Index: test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java |
diff --git a/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java b/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java |
index 9ce432b7f9ea049ec3973eb52e63e592f4f23035..b0c0d77d9475a984c43ff6da66f819362755307a 100644 |
--- a/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java |
+++ b/test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java |
@@ -18,13 +18,12 @@ import java.util.Map; |
/** |
* Base class for all Activity-based Instrumentation tests. |
* |
- * This class currently does nothing. |
- * |
* @param <T> The Activity type. |
*/ |
public class BaseActivityInstrumentationTestCase<T extends Activity> |
extends ActivityInstrumentationTestCase2<T> implements Parameterizable { |
private Parameter.Reader mParameterReader; |
+ private Map<String, BaseParameter> mAvailableParameters; |
/** |
* Creates a instance for running tests against an Activity of the given class. |
@@ -36,14 +35,35 @@ public class BaseActivityInstrumentationTestCase<T extends Activity> |
} |
/** |
- * Creates the list of available parameters that inherited classes can use. |
+ * Creates the {@link Map} of available parameters for the test to use. |
+ * |
+ * @return a {@link Map} of {@link BaseParameter} objects. |
+ */ |
+ protected Map<String, BaseParameter> createAvailableParameters() { |
+ Map<String, BaseParameter> availableParameters = new HashMap<>(); |
+ availableParameters.put( |
+ MethodParameter.PARAMETER_TAG, new MethodParameter(getParameterReader())); |
+ return availableParameters; |
+ } |
+ |
+ /** |
+ * Gets the {@link Map} of available parameters that inherited classes can use. |
* |
- * @return a list of {@link BaseParameter} objects to set as the available parameters. |
+ * @return a {@link Map} of {@link BaseParameter} objects to set as the available parameters. |
*/ |
public Map<String, BaseParameter> getAvailableParameters() { |
- Map<String, BaseParameter> parameters = new HashMap<>(); |
- parameters.put(MethodParameter.PARAMETER_TAG, new MethodParameter(getParameterReader())); |
- return parameters; |
+ return mAvailableParameters; |
+ } |
+ |
+ /** |
+ * Gets a specific parameter from the current test. |
+ * |
+ * @param parameterTag a string with the name of the {@link BaseParameter} we want. |
+ * @return a parameter that extends {@link BaseParameter} that has the matching parameterTag. |
+ */ |
+ @SuppressWarnings("unchecked") |
+ public <T extends BaseParameter> T getAvailableParameter(String parameterTag) { |
+ return (T) mAvailableParameters.get(parameterTag); |
} |
/** |
@@ -53,6 +73,7 @@ public class BaseActivityInstrumentationTestCase<T extends Activity> |
*/ |
public void setParameterReader(Parameter.Reader parameterReader) { |
mParameterReader = parameterReader; |
+ mAvailableParameters = createAvailableParameters(); |
} |
/** |