微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

com.google.common.collect.testing.features.CollectionFeature的实例源码

项目:guava-mock    文件TestsForListsInJavaUtil.java   
public Test testsForArraysAsList() {
  return ListTestSuiteBuilder.using(
          new TestStringListGenerator() {
            @Override
            public List<String> create(String[] elements) {
              return Arrays.asList(elements.clone());
            }
          })
      .named("Arrays.asList")
      .withFeatures(
          ListFeature.SUPPORTS_SET,CollectionFeature.SERIALIZABLE,CollectionFeature.ALLOWS_NULL_VALUES,CollectionSize.ANY)
      .suppressing(suppressForArraysAsList())
      .createTestSuite();
}
项目:googles-monorepo-demo    文件SetHashCodeTester.java   
@CollectionSize.Require(absent = CollectionSize.ZERO)
@CollectionFeature.Require(ALLOWS_NULL_VALUES)
public void testHashCode_containingNull() {
  Collection<E> elements = getSampleElements(getNumElements() - 1);
  int expectedHashCode = 0;
  for (E element : elements) {
    expectedHashCode += ((element == null) ? 0 : element.hashCode());
  }

  elements.add(null);
  collection = getSubjectGenerator().create(elements.toArray());
  assertEquals(
      "A Set's hashCode() should be the sum of those of its elements (with "
          + "a null element counting as having a hash of zero).",expectedHashCode,getSet().hashCode());
}
项目:guava-mock    文件MultisetNavigationTester.java   
@CollectionSize.Require(SEVERAL)
@CollectionFeature.Require(SUPPORTS_ADD)
public void testConflictingBounds() {
  testemptyRangeSubMultiset(
      sortedMultiset.subMultiset(a.getElement(),CLOSED,a.getElement(),OPEN));
  testemptyRangeSubMultiset(
      sortedMultiset.subMultiset(a.getElement(),OPEN,CLOSED));
  testemptyRangeSubMultiset(
      sortedMultiset.subMultiset(b.getElement(),OPEN));
  testemptyRangeSubMultiset(
      sortedMultiset.subMultiset(b.getElement(),OPEN));
}
项目:guava-mock    文件TestsForSetsInJavaUtil.java   
public Test testsForConcurrentSkipListSetWithComparator() {
  return SetTestSuiteBuilder.using(
          new TestStringSortedSetGenerator() {
            @Override
            public SortedSet<String> create(String[] elements) {
              SortedSet<String> set =
                  new ConcurrentSkipListSet<String>(arbitraryNullFriendlyComparator());
              Collections.addAll(set,elements);
              return set;
            }
          })
      .named("ConcurrentSkipListSet,with comparator")
      .withFeatures(
          SetFeature.GENERAL_PURPOSE,CollectionFeature.KNowN_ORDER,CollectionSize.ANY)
      .suppressing(suppressForConcurrentSkipListSetWithComparator())
      .createTestSuite();
}
项目:guava-mock    文件TestsForMapsInJavaUtil.java   
public Test testsForCheckednavigableMap() {
  return SortedMapTestSuiteBuilder.using(
      new TestStringSortedMapGenerator() {
        @Override
        protected NavigableMap<String,String> create(Entry<String,String>[] entries) {
          NavigableMap<String,String> map = populate(new TreeMap<String,String>(),entries);
          return Collections.checkednavigableMap(map,String.class,String.class);
        }
      })
      .named("checkednavigableMap/TreeMap,natural")
      .withFeatures(
          MapFeature.GENERAL_PURPOSE,MapFeature.ALLOWS_NULL_VALUES,MapFeature.FAILS_FAST_ON_CONCURRENT_MODIFICATION,MapFeature.RESTRICTS_KEYS,MapFeature.RESTRICTS_VALUES,CollectionFeature.SUPPORTS_IteraTOR_REMOVE,CollectionSize.ANY)
      .suppressing(suppressForCheckednavigableMap())
      .createTestSuite();
}
项目:guava-mock    文件BiMapTestSuiteBuilder.java   
private static Set<Feature<?>> computeInverseFeatures(Set<Feature<?>> mapFeatures) {
  Set<Feature<?>> inverseFeatures = new HashSet<Feature<?>>(mapFeatures);

  boolean nullKeys = inverseFeatures.remove(MapFeature.ALLOWS_NULL_KEYS);
  boolean nullValues = inverseFeatures.remove(MapFeature.ALLOWS_NULL_VALUES);

  if (nullKeys) {
    inverseFeatures.add(MapFeature.ALLOWS_NULL_VALUES);
  }
  if (nullValues) {
    inverseFeatures.add(MapFeature.ALLOWS_NULL_KEYS);
  }

  inverseFeatures.add(norecurse.INVERSE);
  inverseFeatures.remove(CollectionFeature.KNowN_ORDER);
  inverseFeatures.add(MapFeature.REJECTS_DUPLICATES_AT_CREATION);

  return inverseFeatures;
}
项目:googles-monorepo-demo    文件SynchronizedSetTest.java   
public static Test suite() {
  return SetTestSuiteBuilder.using(
          new TestStringSetGenerator() {
            @Override
            protected Set<String> create(String[] elements) {
              TestSet<String> inner = new TestSet<String>(new HashSet<String>(),null);
              Set<String> outer = Synchronized.set(inner,null);
              inner.mutex = outer;
              Collections.addAll(outer,elements);
              return outer;
            }
          })
      .named("Synchronized.set")
      .withFeatures(
          CollectionFeature.GENERAL_PURPOSE,CollectionSize.ANY,CollectionFeature.SERIALIZABLE)
      .createTestSuite();
}
项目:googles-monorepo-demo    文件MultisetEntrySetTester.java   
@CollectionSize.Require(ONE)
@CollectionFeature.Require(SUPPORTS_IteraTOR_REMOVE)
public void testEntrySet_iteratorRemovePropagates() {
  Iterator<Multiset.Entry<E>> iterator = getMultiset().entrySet().iterator();
  assertTrue(
      "non-empty multiset.entrySet() iterator.hasNext() returned false",iterator.hasNext());
  assertEquals(
      "multiset.entrySet() iterator.next() returned incorrect entry",Multisets.immutableEntry(e0(),1),iterator.next());
  assertFalse(
      "size 1 multiset.entrySet() iterator.hasNext() returned true after next()",iterator.hasNext());
  iterator.remove();
  assertTrue(
      "multiset isn't empty after multiset.entrySet() iterator.remove()",getMultiset().isEmpty());
}
项目:guava-mock    文件TestsForMapsInJavaUtil.java   
public Test testsForUnmodifiableMap() {
  return MapTestSuiteBuilder.using(
      new TestStringMapGenerator() {
        @Override
        protected Map<String,String>[] entries) {
          return Collections.unmodifiableMap(toHashMap(entries));
        }
      })
      .named("unmodifiableMap/HashMap")
      .withFeatures(
          MapFeature.ALLOWS_NULL_KEYS,MapFeature.ALLOWS_ANY_NULL_QUERIES,CollectionSize.ANY)
      .suppressing(suppressForUnmodifiableMap())
      .createTestSuite();
}
项目:guava-mock    文件TestsForMapsInJavaUtil.java   
public Test testsForUnmodifiableNavigableMap() {
  return MapTestSuiteBuilder.using(
      new TestStringSortedMapGenerator() {
        @Override
        protected NavigableMap<String,String>[] entries) {
          return Collections.unmodifiableNavigableMap(populate(new TreeMap<>(),entries));
        }
      })
      .named("unmodifiableNavigableMap/TreeMap,natural")
      .withFeatures(
          MapFeature.ALLOWS_NULL_VALUES,CollectionSize.ANY)
      .suppressing(suppressForUnmodifiableNavigableMap())
      .createTestSuite();
}
项目:guava-mock    文件TestsForMapsInJavaUtil.java   
public Test testsForconcurrentskiplistmapNatural() {
  return NavigableMapTestSuiteBuilder.using(
          new TestStringSortedMapGenerator() {
            @Override
            protected SortedMap<String,String>[] entries) {
              return populate(new concurrentskiplistmap<String,entries);
            }
          })
      .named("concurrentskiplistmap,CollectionSize.ANY)
      .suppressing(suppressForconcurrentskiplistmap())
      .createTestSuite();
}
项目:googles-monorepo-demo    文件MinimalCollectionTest.java   
public static Test suite() {
  return CollectionTestSuiteBuilder
      .using(new TestStringCollectionGenerator() {
          @Override public Collection<String> create(String[] elements) {
            // Todo: MinimalCollection should perhaps throw
            for (Object element : elements) {
              if (element == null) {
                throw new NullPointerException();
              }
            }
            return MinimalCollection.of(elements);
          }
        })
      .named("MinimalCollection")
      .withFeatures(
          CollectionFeature.NONE,CollectionSize.ANY)
      .createTestSuite();
}
项目:guava-mock    文件SetHashCodeTester.java   
@CollectionSize.Require(absent = CollectionSize.ZERO)
@CollectionFeature.Require(ALLOWS_NULL_VALUES)
public void testHashCode_containingNull() {
  Collection<E> elements = getSampleElements(getNumElements() - 1);
  int expectedHashCode = 0;
  for (E element : elements) {
    expectedHashCode += ((element == null) ? 0 : element.hashCode());
  }

  elements.add(null);
  collection = getSubjectGenerator().create(elements.toArray());
  assertEquals(
      "A Set's hashCode() should be the sum of those of its elements (with "
          + "a null element counting as having a hash of zero).",getSet().hashCode());
}
项目:googles-monorepo-demo    文件TestsForMapsInJavaUtil.java   
/**
 * Tests regular NavigableMap behavior of synchronizednavigableMap(treeMap);
 * does not test the fact that it's synchronized.
 */
public Test testsForSynchronizednavigableMap() {
  return NavigableMapTestSuiteBuilder.using(
          new TestStringSortedMapGenerator() {
            @Override
            protected SortedMap<String,String>[] entries) {
              NavigableMap<String,String> delegate = populate(new TreeMap<>(),entries);
              return Collections.synchronizednavigableMap(delegate);
            }
          })
      .named("synchronizednavigableMap/TreeMap,CollectionSize.ANY)
      .suppressing(suppressForSynchronizednavigableMap())
      .createTestSuite();
}
项目:googles-monorepo-demo    文件TestsForListsInJavaUtil.java   
public Test testsForCheckedList() {
  return ListTestSuiteBuilder.using(
          new TestStringListGenerator() {
            @Override
            public List<String> create(String[] elements) {
              List<String> innerList = new ArrayList<String>();
              Collections.addAll(innerList,elements);
              return Collections.checkedList(innerList,String.class);
            }
          })
      .named("checkedList/ArrayList")
      .withFeatures(
          ListFeature.GENERAL_PURPOSE,CollectionFeature.RESTRICTS_ELEMENTS,CollectionSize.ANY)
      .suppressing(suppressForCheckedList())
      .createTestSuite();
}
项目:googles-monorepo-demo    文件TestsForSetsInJavaUtil.java   
public Test testsForCheckedSet() {
  return SetTestSuiteBuilder.using(
          new TestStringSetGenerator() {
            @Override
            public Set<String> create(String[] elements) {
              Set<String> innerSet = new HashSet<String>();
              Collections.addAll(innerSet,elements);
              return Collections.checkedSet(innerSet,String.class);
            }
          })
      .named("checkedSet/HashSet")
      .withFeatures(
          SetFeature.GENERAL_PURPOSE,CollectionSize.ANY)
      .suppressing(suppressForCheckedSet())
      .createTestSuite();
}
项目:googles-monorepo-demo    文件SetsTest.java   
@GwtIncompatible // suite
private static Test testsForFilter() {
  return SetTestSuiteBuilder.using(new TestStringSetGenerator() {
        @Override public Set<String> create(String[] elements) {
          Set<String> unfiltered = Sets.newLinkedHashSet();
          unfiltered.add("yyy");
          Collections.addAll(unfiltered,elements);
          unfiltered.add("zzz");
          return Sets.filter(unfiltered,Collections2Test.NOT_YYY_ZZZ);
        }
      })
      .named("Sets.filter")
      .withFeatures(
          CollectionFeature.SUPPORTS_ADD,CollectionFeature.SUPPORTS_REMOVE,CollectionSize.ANY)
      .createTestSuite();
}
项目:googles-monorepo-demo    文件MultisetEntrySetTester.java   
@CollectionSize.Require(SEVERAL)
@CollectionFeature.Require(SUPPORTS_IteraTOR_REMOVE)
@MultisetFeature.Require(ENTRIES_ARE_VIEWS)
public void testEntryReflectsIteratorRemove() {
  initThreecopies();
  assertEquals(3,getMultiset().count(e0()));
  Multiset.Entry<E> entry = Iterables.getonlyElement(getMultiset().entrySet());
  assertEquals(3,entry.getCount());
  Iterator<E> itr = getMultiset().iterator();
  itr.next();
  itr.remove();
  assertEquals(2,entry.getCount());
  itr.next();
  itr.remove();
  itr.next();
  itr.remove();
  assertEquals(0,entry.getCount());
}
项目:googles-monorepo-demo    文件Collections2Test.java   
@GwtIncompatible // suite
private static Test testsForFilter() {
  return CollectionTestSuiteBuilder.using(
      new TestStringCollectionGenerator() {
        @Override public Collection<String> create(String[] elements) {
          List<String> unfiltered = newArrayList();
          unfiltered.add("yyy");
          Collections.addAll(unfiltered,elements);
          unfiltered.add("zzz");
          return Collections2.filter(unfiltered,NOT_YYY_ZZZ);
        }
      })
      .named("Collections2.filter")
      .withFeatures(
          CollectionFeature.SUPPORTS_ADD,CollectionSize.ANY)
      .createTestSuite();
}
项目:guava-mock    文件TestsForSetsInJavaUtil.java   
public Test testsForSingletonSet() {
  return SetTestSuiteBuilder.using(
          new TestStringSetGenerator() {
            @Override
            public Set<String> create(String[] elements) {
              return Collections.singleton(elements[0]);
            }
          })
      .named("singleton")
      .withFeatures(
          CollectionFeature.SERIALIZABLE,CollectionSize.ONE)
      .suppressing(suppressForSingletonSet())
      .createTestSuite();
}
项目:googles-monorepo-demo    文件TestsForListsInJavaUtil.java   
public Test testsForLinkedList() {
  return ListTestSuiteBuilder.using(
          new TestStringListGenerator() {
            @Override
            public List<String> create(String[] elements) {
              return new LinkedList<String>(MinimalCollection.of(elements));
            }
          })
      .named("LinkedList")
      .withFeatures(
          ListFeature.GENERAL_PURPOSE,CollectionFeature.FAILS_FAST_ON_CONCURRENT_MODIFICATION,CollectionSize.ANY)
      .suppressing(suppressForLinkedList())
      .createTestSuite();
}
项目:guava-mock    文件Collections2Test.java   
@GwtIncompatible // suite
private static Test testsForFilter() {
  return CollectionTestSuiteBuilder.using(
      new TestStringCollectionGenerator() {
        @Override public Collection<String> create(String[] elements) {
          List<String> unfiltered = newArrayList();
          unfiltered.add("yyy");
          Collections.addAll(unfiltered,CollectionSize.ANY)
      .createTestSuite();
}
项目:googles-monorepo-demo    文件MultisetEntrySetTester.java   
@CollectionSize.Require(absent = ZERO)
@CollectionFeature.Require(SUPPORTS_REMOVE)
public void testEntrySet_removeAllPresent() {
  assertTrue(
      "multiset.entrySet.removeAll(presentEntry) returned false",getMultiset()
          .entrySet()
          .removeAll(Collections.singleton(Multisets.immutableEntry(e0(),1))));
  assertFalse("multiset contains element after removing its entry",getMultiset().contains(e0()));
}
项目:guava-mock    文件CollectionClearTester.java   
@CollectionFeature.Require(SUPPORTS_REMOVE)
public void testClear() {
  collection.clear();
  assertTrue("After clear(),a collection should be empty.",collection.isEmpty());
  assertEquals(0,collection.size());
  assertFalse(collection.iterator().hasNext());
}
项目:guava-mock    文件MultisetIteratorTester.java   
@SuppressWarnings("unchecked")
@CollectionFeature.Require(absent = {SUPPORTS_IteraTOR_REMOVE,KNowN_ORDER})
public void testIteratorUnkNownorder() {
  new IteratorTester<E>(
      4,UNMODIFIABLE,Arrays.asList(e0(),e1(),e2()),IteratorTester.KNownorder.UNKNowN_ORDER) {
    @Override
    protected Iterator<E> newTargetIterator() {
      return getSubjectGenerator().create(e0(),e2()).iterator();
    }
  }.test();
}
项目:googles-monorepo-demo    文件MultisetForEachEntryTester.java   
@CollectionFeature.Require(KNowN_ORDER)
public void testForEachEntryOrdered() {
  List<Entry<E>> expected = new ArrayList<>(getMultiset().entrySet());
  List<Entry<E>> actual = new ArrayList<>();
  getMultiset()
      .forEachEntry((element,count) -> actual.add(Multisets.immutableEntry(element,count)));
  assertEquals(expected,actual);
}
项目:guava-mock    文件CollectionRemoveAllTester.java   
@CollectionFeature.Require({SUPPORTS_REMOVE,ALLOWS_NULL_VALUES})
@CollectionSize.Require(absent = ZERO)
public void testRemoveAll_containsNullYes() {
  initCollectionWithNullElement();
  assertTrue(
      "removeAll(containsNull) should return true",collection.removeAll(Collections.singleton(null)));
  // Todo: make this work with MinimalCollection
}
项目:googles-monorepo-demo    文件MultisetIteratorTester.java   
@SuppressWarnings("unchecked")
@CollectionFeature.Require(absent = {SUPPORTS_IteraTOR_REMOVE,e2()).iterator();
    }
  }.test();
}
项目:googles-monorepo-demo    文件CollectionAddTester.java   
@CollectionFeature.Require({SUPPORTS_ADD,FAILS_FAST_ON_CONCURRENT_MODIFICATION})
@CollectionSize.Require(absent = ZERO)
public void testAddConcurrentWithIteration() {
  try {
    Iterator<E> iterator = collection.iterator();
    assertTrue(collection.add(e3()));
    iterator.next();
    fail("Expected ConcurrentModificationException");
  } catch (ConcurrentModificationException expected) {
    // success
  }
}
项目:googles-monorepo-demo    文件CollectionToStringTester.java   
@CollectionSize.Require(ONE)
@CollectionFeature.Require(absent = NON_STANDARD_TOSTRING)
public void testToString_size1() {
  assertEquals(
      "size1Collection.toString should return [{element}]","[" + e0() + "]",collection.toString());
}
项目:guava-mock    文件ListRemoveAllTester.java   
@CollectionFeature.Require(SUPPORTS_REMOVE)
@CollectionSize.Require(absent = {ZERO,ONE})
public void testRemoveAll_duplicate() {
  ArrayWithDuplicate<E> arrayAndDuplicate = createArrayWithDuplicateElement();
  collection = getSubjectGenerator().create(arrayAndDuplicate.elements);
  E duplicate = arrayAndDuplicate.duplicate;

  assertTrue(
      "removeAll(intersectingCollection) should return true",getList().removeAll(MinimalCollection.of(duplicate)));
  assertFalse(
      "after removeAll(e),a collection should not contain e even "
          + "if it initially contained e more than once.",getList().contains(duplicate));
}
项目:guava-mock    文件MultisetRemoveTester.java   
@CollectionSize.Require(SEVERAL)
@CollectionFeature.Require(SUPPORTS_REMOVE)
public void testRemoveAllIgnoresCount() {
  initThreecopies();
  assertTrue(getMultiset().removeAll(Collections.singleton(e0())));
  assertEmpty(getMultiset());
}
项目:guava-mock    文件SetAddTester.java   
@CollectionFeature.Require(value = {SUPPORTS_ADD,ALLOWS_NULL_VALUES})
@CollectionSize.Require(absent = ZERO)
public void testAdd_supportednullPresent() {
  E[] array = createArrayWithNullElement();
  collection = getSubjectGenerator().create(array);
  assertFalse("add(nullPresent) should return false",getSet().add(null));
  expectContents(array);
}
项目:googles-monorepo-demo    文件AbstractMultisetSetCountTester.java   
@CollectionSize.Require(absent = ZERO)
@CollectionFeature.Require(ALLOWS_NULL_VALUES)
public void testSetCount_existingNonopNull_nullSupported() {
  initCollectionWithNullElement();
  try {
    assertSetCount(null,1);
  } catch (UnsupportedOperationException tolerated) {
  }
}
项目:guava-mock    文件CollectionSpliteratorTester.java   
@CollectionFeature.Require(SUPPORTS_REMOVE)
public void testSpliteratorNotImmutable_CollectionAllowsRemove() {
  // If remove is supported,verify that IMMUTABLE is not reported.
  synchronized (collection) { // for Collections.synchronized
    assertFalse(collection.spliterator().hascharacteristics(Spliterator.IMMUTABLE));
  }
}
项目:googles-monorepo-demo    文件SetCreationTester.java   
@CollectionFeature.Require(absent = REJECTS_DUPLICATES_AT_CREATION)
@CollectionSize.Require(absent = {ZERO,ONE})
public void testCreateWithDuplicates_nonNullDuplicatesNotRejected() {
  E[] array = createSamplesArray();
  array[1] = e0();
  collection = getSubjectGenerator().create(array);

  List<E> expectedWithDuplicateRemoved = Arrays.asList(array).subList(1,getNumElements());
  expectContents(expectedWithDuplicateRemoved);
}
项目:guava-mock    文件MultisetElementSetTester.java   
@CollectionSize.Require(absent = ZERO)
@CollectionFeature.Require(SUPPORTS_REMOVE)
public void testElementSetRemovePropagatesToMultiset() {
  Set<E> elementSet = getMultiset().elementSet();
  assertTrue(elementSet.remove(e0()));
  assertFalse(getMultiset().contains(e0()));
}
项目:googles-monorepo-demo    文件MultimapKeySetTester.java   
@CollectionSize.Require(absent = ZERO)
@CollectionFeature.Require(SUPPORTS_IteraTOR_REMOVE)
public void testKeySetIteratorRemove() {
  int key0Count = multimap().get(k0()).size();
  Iterator<K> keyItr = multimap().keySet().iterator();
  while (keyItr.hasNext()) {
    if (keyItr.next().equals(k0())) {
      keyItr.remove();
    }
  }
  assertEquals(getNumElements() - key0Count,multimap().size());
  assertGet(k0());
}
项目:guava-mock    文件MultisetNavigationTester.java   
@CollectionSize.Require(SEVERAL)
@CollectionFeature.Require(SUPPORTS_REMOVE)
public void testClearTailClosed() {
  List<Entry<E>> expected =
      copyToList(sortedMultiset.headMultiset(b.getElement(),OPEN).entrySet());
  sortedMultiset.tailMultiset(b.getElement(),CLOSED).clear();
  assertEquals(expected,copyToList(sortedMultiset.entrySet()));
}
项目:googles-monorepo-demo    文件SetCreationTester.java   
@CollectionFeature.Require(value = ALLOWS_NULL_VALUES,absent = REJECTS_DUPLICATES_AT_CREATION)
@CollectionSize.Require(absent = {ZERO,ONE})
public void testCreateWithDuplicates_nullDuplicatesNotRejected() {
  E[] array = createArrayWithNullElement();
  array[0] = null;
  collection = getSubjectGenerator().create(array);

  List<E> expectedWithDuplicateRemoved = Arrays.asList(array).subList(1,getNumElements());
  expectContents(expectedWithDuplicateRemoved);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。