Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2008 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
   *
   * 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.common.collect.testing;
 
 
 
 import java.util.List;
 import java.util.Set;
This builder creates a composite test suite, containing a separate test suite for each com.google.common.collect.testing.features.CollectionSize present in the features specified by FeatureSpecificTestSuiteBuilder.withFeatures(com.google.common.collect.testing.features.Feature[]).

Parameters:
<B> The concrete type of this builder (the 'self-type'). All the Builder methods of this class (such as FeatureSpecificTestSuiteBuilder.named(java.lang.String)) return this type, so that Builder methods of more derived classes can be chained onto them without casting.
<G> The type of the generator to be passed to testers in the generated test suite. An instance of G should somehow provide an instance of the class under test, plus any other information required to parameterize the test.
Author(s):
George van den Driessche
See also:
FeatureSpecificTestSuiteBuilder
 
 public abstract class PerCollectionSizeTestSuiteBuilder<
     B extends PerCollectionSizeTestSuiteBuilder<B, G, T, E>,
     G extends TestContainerGenerator<T, E>,
     T,
     E>
     extends FeatureSpecificTestSuiteBuilder<B, G> {
   private static final Logger logger = Logger.getLogger(
       PerCollectionSizeTestSuiteBuilder.class.getName());

  
Creates a runnable JUnit test suite based on the criteria already given.
 
   @Override public TestSuite createTestSuite() {
     checkCanCreate();
 
     String name = getName();
     // Copy this set, so we can modify it.
     Set<Feature<?>> features = Helpers.copyToSet(getFeatures());
     List<Class<? extends AbstractTester>> testers = getTesters();
 
     .fine(" Testing: " + name);
 
     // Split out all the specified sizes.
     Set<Feature<?>> sizesToTest =
         Helpers.<Feature<?>>copyToSet(CollectionSize.values());
     sizesToTest.retainAll(features);
     features.removeAll(sizesToTest);
 
     FeatureUtil.addImpliedFeatures(sizesToTest);
     sizesToTest.retainAll(Arrays.asList(
 
     .fine("   Sizes: " + formatFeatureSet(sizesToTest));
 
     if (sizesToTest.isEmpty()) {
       throw new IllegalStateException(name
           + ": no CollectionSizes specified (check the argument to "
           + "FeatureSpecificTestSuiteBuilder.withFeatures().)");
     }
 
     TestSuite suite = new TestSuite(name);
     for (Feature<?> collectionSize : sizesToTest) {
       String oneSizeName = Platform.format("%s [collection size: %s]",
           namecollectionSize.toString().toLowerCase());
       OneSizeGenerator<T, E> oneSizeGenerator = new OneSizeGenerator<T, E>(
           getSubjectGenerator(), (CollectionSizecollectionSize);
       Set<Feature<?>> oneSizeFeatures = Helpers.copyToSet(features);
       oneSizeFeatures.add(collectionSize);
       Set<MethodoneSizeSuppressedTests = getSuppressedTests();
 
      OneSizeTestSuiteBuilder<T, E> oneSizeBuilder =
          new OneSizeTestSuiteBuilder<T, E>(testers)
              .named(oneSizeName)
              .usingGenerator(oneSizeGenerator)
              .withFeatures(oneSizeFeatures)
              .withSetUp(getSetUp())
              .withTearDown(getTearDown())
              .suppressing(oneSizeSuppressedTests);
      TestSuite oneSizeSuite = oneSizeBuilder.createTestSuite();
      suite.addTest(oneSizeSuite);
      for (TestSuite derivedSuite : createDerivedSuites(oneSizeBuilder)) {
        oneSizeSuite.addTest(derivedSuite);
      }
    }
    return suite;
  }
      ?, ? extends OneSizeTestContainerGenerator<T, E>> parentBuilder) {
    return new ArrayList<TestSuite>();
  }

  
Builds a test suite for one particular com.google.common.collect.testing.features.CollectionSize.
  private static final class OneSizeTestSuiteBuilder<T, E> extends
          OneSizeTestSuiteBuilder<T, E>, OneSizeGenerator<T, E>> {
    private final List<Class<? extends AbstractTester>> testers;
        List<Class<? extends AbstractTester>> testers) {
      this. = testers;
    }
    @Override protected List<Class<? extends AbstractTester>> getTesters() {
      return ;
    }
  }
New to GrepCode? Check out our FAQ X