@CheckReturnValue public HeldLockSet plusAll(Collection<GuardedByExpression> locks) { return new HeldLockSet(this.locks.plusAll(locks)); }
public void testSet() { PSet<String> a = HashTreePSet.empty(), b = HashTreePSet.empty(); assertEqualsAndHash("empty sets not equal",a,b); assertTrue("adding element should change empty set",!a.equals(a.plus("one"))); a = a.plus("one"); assertEqualsAndHash("adding duplicate should not change set",a,a.plus("one")); a = a.plus("two").plus(""); b = b.plus("two").plus("").plus("one").plus("two"); assertEqualsAndHash(a,b); b = b.plus("three"); assertTrue(!a.equals(b)); int n = b.size(); for(@SuppressWarnings("unused") String s : b) n--; assertTrue("iterator() should return size() elements", n==0); assertEqualsAndHash("adding a set to itself should do nothing",b,b.plusAll(b)); assertEqualsAndHash("adding a set to the empty set should be identity", b, MapPSet.from(HashTreePMap.<String,Object>empty(), b)); // bug Mike found: assertEqualsAndHash(HashTreePSet.from(Arrays.asList(2)), HashTreePSet.empty().plus(1).plus(2).minus(1)); }
public void testBehavesLikePSet() { PSet<Integer> s = Empty.set(); POrderedSet<Integer> os = Empty.orderedSet(); Random r = new Random(); for (int i = 0; i < 100000; i++) { int v = r.nextInt(1000); if (r.nextFloat() < 0.8) { s = s.plus(v); os = os.plus(v); } else { s = s.minus(v); os = os.minus(v); } } assertEquals(s, os); } }
@CheckReturnValue public HeldLockSet plus(GuardedByExpression lock) { return new HeldLockSet(locks.plus(lock)); }
/** * @param e * @return * @see org.pcollections.MapPSet#minus(java.lang.Object) */ public PSetX<T> minus(Object e) { return new PSetXImpl<>(set.minus(e)); }
@Override public int indexOf(Object o) { if (!contents.contains(o)) return -1; return order.indexOf(o); } }
@Override public int size() { return contents.size(); }
/** * @return * @see org.pcollections.MapPSet#iterator() */ public Iterator<T> iterator() { return set.iterator(); }
@Override public void visit(Variable variable) { variables = variables.plus(variable); }
@Override public PersistentSetX<T> minus(Object remove) { return from(get().minus(remove)); }
@Override public int indexOf(Object o) { if (!contents.contains(o)) return -1; return order.indexOf(o); } }
@Override public int size() { return contents.size(); }
@Override public Iterator<Key<T, ?>> iterator() { return keys.iterator(); }