Enum CollectionSize

java.lang.Object
java.lang.Enum<CollectionSize>
com.google.common.collect.testing.features.CollectionSize
All Implemented Interfaces:
Feature<Collection>, Serializable, Comparable<CollectionSize>, java.lang.constant.Constable

@GwtCompatible public enum CollectionSize extends Enum<CollectionSize> implements Feature<Collection>, Comparable<CollectionSize>
When describing the features of the collection produced by a given generator (i.e. in a call to FeatureSpecificTestSuiteBuilder.withFeatures(Feature...)), this annotation specifies each of the different sizes for which a test suite should be built. (In a typical case, the features should include ANY.) These semantics are thus a little different from those of other Collection-related features such as CollectionFeature or SetFeature.

However, when CollectionSize.Require is used to annotate a test it behaves normally (i.e. it requires the collection instance under test to be a certain size for the test to run). Note that this means a test should not require more than one CollectionSize, since a particular collection instance can only be one size at once.

Author:
George van den Driessche
  • Enum Constant Details

    • ZERO

      public static final CollectionSize ZERO
      Test an empty collection.
    • ONE

      public static final CollectionSize ONE
      Test a one-element collection.
    • SEVERAL

      public static final CollectionSize SEVERAL
      Test a three-element collection.
    • ANY

      public static final CollectionSize ANY
  • Method Details

    • values

      public static CollectionSize[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static CollectionSize valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getImpliedFeatures

      public Set<Feature<? super Collection>> getImpliedFeatures()
      Description copied from interface: Feature
      Returns the set of features that are implied by this feature.
      Specified by:
      getImpliedFeatures in interface Feature<Collection>
    • getNumElements

      public int getNumElements()