Move junitrunner fake/stub classes from javatests/c/g/testing/junit/runner to java/c/g/testing/junit/runner/sharding/testing. Also:

- Remove Guava dependencies and fix minor style issues in FakeShardingFilters
- Fix lint issues in TestSuite[]ModelTest

--
MOS_MIGRATED_REVID=136840327
diff --git a/src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding/testing/FakeShardingFilters.java b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding/testing/FakeShardingFilters.java
new file mode 100644
index 0000000..8002e07
--- /dev/null
+++ b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding/testing/FakeShardingFilters.java
@@ -0,0 +1,78 @@
+// Copyright 2012 The Bazel Authors. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.testing.junit.runner.sharding.testing;
+
+import com.google.testing.junit.runner.sharding.ShardingFilters;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+import org.junit.runner.Description;
+import org.junit.runner.manipulation.Filter;
+
+/**
+ * Filter factory that includes only descriptions in the set of descriptions
+ * explicitly specified in the constructor.
+ */
+public class FakeShardingFilters extends ShardingFilters {
+  private final Set<Description> descriptionsToRun;
+
+  public FakeShardingFilters(Description... descriptionsToRun) {
+    super(null, null);
+    this.descriptionsToRun = copyOf(descriptionsToRun);
+  }
+
+  @Override
+  public Filter createShardingFilter(Collection<Description> allDescriptions) {
+    return new ExplicitDescriptionFilter(allDescriptions, descriptionsToRun);
+  }
+
+
+  private static class ExplicitDescriptionFilter extends Filter {
+    private final Set<Description> allDescriptions;
+    private final Set<Description> descriptionsToRun;
+
+    private ExplicitDescriptionFilter(
+        Collection<Description> allDescriptions, Set<Description> descriptionsToRun) {
+      this.allDescriptions = copyOf(allDescriptions);
+      this.descriptionsToRun = descriptionsToRun;
+    }
+
+    @Override
+    public boolean shouldRun(Description description) {
+      if (description.isSuite()) {
+        return true;
+      }
+      if (!allDescriptions.contains(description)) {
+        throw new IllegalArgumentException("Not in the suite: " + description);
+      }
+      return descriptionsToRun.contains(description);
+    }
+
+    @Override
+    public String describe() {
+      return "explicit description filter";
+    }
+  }
+
+  private static <T> Set<T> copyOf(T... items) {
+    return copyOf(Arrays.asList(items));
+  }
+
+  private static <T> Set<T> copyOf(Collection<T> items) {
+    return Collections.unmodifiableSet(new HashSet<T>(items));
+  }
+}
diff --git a/src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding/testing/StubShardingEnvironment.java b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding/testing/StubShardingEnvironment.java
new file mode 100644
index 0000000..032100d
--- /dev/null
+++ b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding/testing/StubShardingEnvironment.java
@@ -0,0 +1,53 @@
+// Copyright 2012 The Bazel Authors. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.testing.junit.runner.sharding.testing;
+
+import com.google.testing.junit.runner.sharding.ShardingEnvironment;
+
+/**
+ * Stub sharding environment.
+ */
+public class StubShardingEnvironment extends ShardingEnvironment {
+  private boolean shardingEnabled = false;
+
+  @Override
+  public boolean isShardingEnabled() {
+    return shardingEnabled;
+  }
+  
+  public void setIsShardingEnabled(boolean shardingEnabled) {
+    this.shardingEnabled = shardingEnabled;
+  }
+
+  @Override
+  public void touchShardFile() {
+    // Noop.
+  }
+
+  @Override
+  public int getShardIndex() {
+    throw new UnsupportedOperationException();
+  }
+
+  @Override
+  public int getTotalShards() {
+    throw new UnsupportedOperationException();
+  }
+
+  @Override
+  public String getTestShardingStrategy() {
+    throw new UnsupportedOperationException();
+  }
+}