Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3464)

Unified Diff: base/test/android/javatests/src/org/chromium/base/test/util/parameter/BaseParameter.java

Issue 1219683014: Added Generic Parameterized Testing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tommy's LGTM Nit Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/test/android/javatests/src/org/chromium/base/test/util/parameter/BaseParameter.java
diff --git a/base/test/android/javatests/src/org/chromium/base/test/util/parameter/BaseParameter.java b/base/test/android/javatests/src/org/chromium/base/test/util/parameter/BaseParameter.java
new file mode 100644
index 0000000000000000000000000000000000000000..bc4c8e4c84878a25f3b5cc5f154fade0365f8a90
--- /dev/null
+++ b/base/test/android/javatests/src/org/chromium/base/test/util/parameter/BaseParameter.java
@@ -0,0 +1,80 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.base.test.util.parameter;
+
+/**
+ * The attributes of a single parameter.
+ */
+public class BaseParameter {
+ private final String mTag;
+ private final Parameter.Reader mParameterReader;
+
+ public BaseParameter(String tag, Parameter.Reader parameterReader) {
+ mTag = tag;
+ mParameterReader = parameterReader;
+ }
+
+ public String getTag() {
+ return mTag;
+ }
+
+ public String getStringArgument(String argumentName, String defaultString) {
+ Parameter.Argument parameterArgument = getArgument(argumentName);
+ return parameterArgument != null ? parameterArgument.stringVar() : defaultString;
+ }
+
+ public String getStringArgument(String argumentName) {
+ Parameter.Argument parameterArgument = getArgument(argumentName);
+ checkArgumentExists(parameterArgument);
+ return parameterArgument.stringVar();
+ }
+
+ public int getIntArgument(String argumentName, int defaultInt) {
+ Parameter.Argument parameterArgument = getArgument(argumentName);
+ return parameterArgument != null ? parameterArgument.intVar() : defaultInt;
+ }
+
+ public int getIntArgument(String argumentName) {
+ Parameter.Argument parameterArgument = getArgument(argumentName);
+ checkArgumentExists(parameterArgument);
+ return parameterArgument.intVar();
+ }
+
+ public String[] getStringArrayArgument(String argumentName, String[] defaultStringArray) {
+ Parameter.Argument parameterArgument = getArgument(argumentName);
+ return parameterArgument != null ? parameterArgument.stringArray() : defaultStringArray;
+ }
+
+ public String[] getStringArrayArgument(String argumentName) {
+ Parameter.Argument parameterArgument = getArgument(argumentName);
+ checkArgumentExists(parameterArgument);
+ return parameterArgument.stringArray();
+ }
+
+ public int[] getIntArrayArgument(String argumentName, int[] defaultIntArray) {
+ Parameter.Argument parameterArgument = getArgument(argumentName);
+ return parameterArgument != null ? parameterArgument.intArray() : defaultIntArray;
+ }
+
+ public int[] getIntArrayArgument(String argumentName) {
+ Parameter.Argument parameterArgument = getArgument(argumentName);
+ checkArgumentExists(parameterArgument);
+ return parameterArgument.intArray();
+ }
+
+ private Parameter.Argument getArgument(String argumentName) {
+ return mParameterReader.getParameterArgument(getTag(), argumentName);
+ }
+
+ private static void checkArgumentExists(Parameter.Argument parameterArgument) {
+ if (parameterArgument == null) {
+ throw new IllegalArgumentException("Argument must be specified");
+ }
+ }
+
+ public void setUp() throws Exception {}
+
+ public void tearDown() throws Exception {}
+}

Powered by Google App Engine
This is Rietveld 408576698