Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   * Copyright (C) 2010 The Guava Authors
   * 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
  * 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.
 import java.util.List;
 import java.util.Map;
 import java.util.Set;

Creates, based on your criteria, a JUnit test suite that exhaustively tests a SortedMap implementation.
 public class SortedMapTestSuiteBuilder<K, V> extends MapTestSuiteBuilder<K, V> {
   public static <K, V> SortedMapTestSuiteBuilder<K, V> using(
       TestSortedMapGenerator<K, V> generator) {
     SortedMapTestSuiteBuilder<K, V> result = new SortedMapTestSuiteBuilder<K, V>();
     return result;
   @Override protected List<Class<? extends AbstractTester>> getTesters() {
     List<Class<? extends AbstractTester>> testers = Helpers.copyToList(super.getTesters());
     return testers;
   @Override public TestSuite createTestSuite() {
       List<Feature<?>> features = Helpers.copyToList(getFeatures());
     return super.createTestSuite();
       ? extends OneSizeTestContainerGenerator<Map<K, V>, Entry<K, V>>> parentBuilder) {
     List<TestSuitederivedSuites = super.createDerivedSuites(parentBuilder);
     if (!parentBuilder.getFeatures().contains(.)) {
     return derivedSuites;
       TestSetGenerator<K> keySetGenerator) {
     return keySetGenerator instanceof TestSortedSetGenerator
         ? SortedSetTestSuiteBuilder.using((TestSortedSetGenerator<K>) keySetGenerator)
         : SetTestSuiteBuilder.using(keySetGenerator);

To avoid infinite recursion, test suites with these marker features won't have derived suites created for them.
   enum NoRecurse implements Feature<Void> {
     public Set<Feature<? super Void>> getImpliedFeatures() {
       return Collections.emptySet();

Creates a suite whose map has some elements filtered out of view.

Because the map may be ascending or descending, this test must derive the relative order of these extreme values rather than relying on their regular sort ordering.

          ? extends OneSizeTestContainerGenerator<Map<K, V>, Entry<K, V>>>
          parentBuilderfinal Bound fromfinal Bound to) {
    final TestSortedMapGenerator<K, V> delegate
        = (TestSortedMapGenerator<K, V>) parentBuilder.getSubjectGenerator().getInnerGenerator();
    List<Feature<?>> features = new ArrayList<Feature<?>>();
    return newBuilderUsing(delegatetofrom)
        .named(parentBuilder.getName() + " subMap " + from + "-" + to)

Like using() but overrideable by NavigableMapTestSuiteBuilder.
      TestSortedMapGenerator<K, V> delegateBound toBound from) {
    return using(new SortedMapSubmapTestMapGenerator<K, V>(delegatetofrom));
New to GrepCode? Check out our FAQ X