Skip to content

Commit

Permalink
Update containsAny/containsNone implementations for synchronized and …
Browse files Browse the repository at this point in the history
…unmodifiable.

Signed-off-by: Donald Raab <Donald.Raab@bnymellon.com>
  • Loading branch information
donraab committed Apr 26, 2022
1 parent 662c171 commit 0cef691
Show file tree
Hide file tree
Showing 7 changed files with 214 additions and 6 deletions.
Expand Up @@ -210,7 +210,7 @@ default <V> boolean containsBy(
/**
* Returns true if any of the elements in source is contained in this collection.
*
* @since 11.0
* @since 11.1
*/
default boolean containsAny(Collection<?> source)
{
Expand All @@ -221,7 +221,7 @@ default boolean containsAny(Collection<?> source)
/**
* Returns true if none of the elements in source are contained in this collection.
*
* @since 11.0
* @since 11.1
*/
default boolean containsNone(Collection<?> source)
{
Expand All @@ -232,7 +232,7 @@ default boolean containsNone(Collection<?> source)
/**
* Returns true if any of the elements in source is contained in this collection.
*
* @since 11.0
* @since 11.1
*/
default boolean containsAnyIterable(Iterable<?> source)
{
Expand All @@ -243,7 +243,7 @@ default boolean containsAnyIterable(Iterable<?> source)
/**
* Returns true if none of the elements in source are contained in this collection.
*
* @since 11.0
* @since 11.1
*/
default boolean containsNoneIterable(Iterable<?> source)
{
Expand Down
Expand Up @@ -435,6 +435,42 @@ public class Synchronized<name>ObjectMap\<V>
}
}

@Override
public boolean containsNoneIterable(Iterable\<?> source)
{
synchronized (this.lock)
{
return this.map.containsNoneIterable(source);
}
}

@Override
public boolean containsNone(Collection\<?> source)
{
synchronized (this.lock)
{
return this.map.containsNone(source);
}
}

@Override
public boolean containsAnyIterable(Iterable\<?> source)
{
synchronized (this.lock)
{
return this.map.containsAnyIterable(source);
}
}

@Override
public boolean containsAny(Collection\<?> source)
{
synchronized (this.lock)
{
return this.map.containsAny(source);
}
}

@Override
public boolean containsAllArguments(Object... elements)
{
Expand Down
Expand Up @@ -1385,6 +1385,38 @@ public abstract class Abstract<name>ObjectMapTestCase
Assert.assertFalse(this.classUnderTest().containsAll(FastList.newListWith("two", "one", "nine")));
}

@Test
public void containsAnyIterable()
{
Assert.assertTrue(this.classUnderTest().containsAnyIterable(FastList.newListWith("zero", "thirtyOne")));
Assert.assertTrue(this.classUnderTest().containsAnyIterable(FastList.newListWith("zero", "thirtyOne", "thirtyTwo")));
Assert.assertFalse(this.classUnderTest().containsAnyIterable(FastList.newListWith("none")));
}

@Test
public void containsAny()
{
Assert.assertTrue(this.classUnderTest().containsAny(FastList.newListWith("zero", "thirtyOne")));
Assert.assertTrue(this.classUnderTest().containsAny(FastList.newListWith("zero", "thirtyOne", "thirtyTwo")));
Assert.assertFalse(this.classUnderTest().containsAny(FastList.newListWith("none")));
}

@Test
public void containsNoneIterable()
{
Assert.assertFalse(this.classUnderTest().containsNoneIterable(FastList.newListWith("zero", "thirtyOne")));
Assert.assertFalse(this.classUnderTest().containsNoneIterable(FastList.newListWith("zero", "thirtyOne", "thirtyTwo")));
Assert.assertTrue(this.classUnderTest().containsNoneIterable(FastList.newListWith("none")));
}

@Test
public void containsNone()
{
Assert.assertFalse(this.classUnderTest().containsNone(FastList.newListWith("zero", "thirtyOne")));
Assert.assertFalse(this.classUnderTest().containsNone(FastList.newListWith("zero", "thirtyOne", "thirtyTwo")));
Assert.assertTrue(this.classUnderTest().containsNone(FastList.newListWith("none")));
}

@Test
public void containsAllArguments()
{
Expand Down
@@ -1,4 +1,4 @@
import "copyright.stg"
import "copyrightAndOthers.stg"
import "primitiveHashCode.stg"
import "primitiveLiteral.stg"

Expand All @@ -15,7 +15,7 @@ class(primitive) ::= <<
>>

body(type, name) ::= <<
<copyright()>
<copyrightAndOthers()>

package org.eclipse.collections.impl.map.immutable.primitive;

Expand Down Expand Up @@ -119,6 +119,50 @@ public class Immutable<name>ObjectEmptyMapTest extends AbstractImmutable<name>Ob
Assert.assertTrue(this.classUnderTest().containsAll(FastList.newListWith()));
}

@Override
@Test
public void containsAnyIterable()
{
Assert.assertFalse(this.classUnderTest().containsAnyIterable(FastList.newListWith("zero", "thirtyOne")));
Assert.assertFalse(this.classUnderTest().containsAnyIterable(FastList.newListWith("zero", "thirtyOne", "thirtyTwo")));
Assert.assertFalse(this.classUnderTest().containsAnyIterable(FastList.newListWith("zero", "one", "thirtyTwo")));
Assert.assertFalse(this.classUnderTest().containsAnyIterable(FastList.newListWith("two", "one", "nine")));
Assert.assertFalse(this.classUnderTest().containsAnyIterable(FastList.newListWith()));
}

@Override
@Test
public void containsAny()
{
Assert.assertFalse(this.classUnderTest().containsAny(FastList.newListWith("zero", "thirtyOne")));
Assert.assertFalse(this.classUnderTest().containsAny(FastList.newListWith("zero", "thirtyOne", "thirtyTwo")));
Assert.assertFalse(this.classUnderTest().containsAny(FastList.newListWith("zero", "one", "thirtyTwo")));
Assert.assertFalse(this.classUnderTest().containsAny(FastList.newListWith("two", "one", "nine")));
Assert.assertFalse(this.classUnderTest().containsAny(FastList.newListWith()));
}

@Override
@Test
public void containsNoneIterable()
{
Assert.assertTrue(this.classUnderTest().containsNoneIterable(FastList.newListWith("zero", "thirtyOne")));
Assert.assertTrue(this.classUnderTest().containsNoneIterable(FastList.newListWith("zero", "thirtyOne", "thirtyTwo")));
Assert.assertTrue(this.classUnderTest().containsNoneIterable(FastList.newListWith("zero", "one", "thirtyTwo")));
Assert.assertTrue(this.classUnderTest().containsNoneIterable(FastList.newListWith("two", "one", "nine")));
Assert.assertTrue(this.classUnderTest().containsNoneIterable(FastList.newListWith()));
}

@Override
@Test
public void containsNone()
{
Assert.assertTrue(this.classUnderTest().containsNone(FastList.newListWith("zero", "thirtyOne")));
Assert.assertTrue(this.classUnderTest().containsNone(FastList.newListWith("zero", "thirtyOne", "thirtyTwo")));
Assert.assertTrue(this.classUnderTest().containsNone(FastList.newListWith("zero", "one", "thirtyTwo")));
Assert.assertTrue(this.classUnderTest().containsNone(FastList.newListWith("two", "one", "nine")));
Assert.assertTrue(this.classUnderTest().containsNone(FastList.newListWith()));
}

@Override
@Test
public void containsAllArguments()
Expand Down
Expand Up @@ -219,6 +219,42 @@ public boolean contains(Object o)
}
}

@Override
public boolean containsAny(Collection<?> source)
{
synchronized (this.lock)
{
return this.delegate.containsAny(source);
}
}

@Override
public boolean containsNone(Collection<?> source)
{
synchronized (this.lock)
{
return this.delegate.containsNone(source);
}
}

@Override
public boolean containsAnyIterable(Iterable<?> source)
{
synchronized (this.lock)
{
return this.delegate.containsAnyIterable(source);
}
}

@Override
public boolean containsNoneIterable(Iterable<?> source)
{
synchronized (this.lock)
{
return this.delegate.containsNoneIterable(source);
}
}

@Override
public boolean containsAllIterable(Iterable<?> source)
{
Expand Down
Expand Up @@ -241,6 +241,30 @@ public <P> void forEachWith(Procedure2<? super T, ? super P> procedure, P parame
this.getMutableCollection().forEachWith(procedure, parameter);
}

@Override
public boolean containsAny(Collection<?> source)
{
return this.getMutableCollection().containsAny(source);
}

@Override
public boolean containsNone(Collection<?> source)
{
return this.getMutableCollection().containsNone(source);
}

@Override
public boolean containsAnyIterable(Iterable<?> source)
{
return this.getMutableCollection().containsAnyIterable(source);
}

@Override
public boolean containsNoneIterable(Iterable<?> source)
{
return this.getMutableCollection().containsNoneIterable(source);
}

@Override
public boolean containsAllIterable(Iterable<?> source)
{
Expand Down
Expand Up @@ -730,6 +730,42 @@ public boolean containsAll(Collection<?> source)
}
}

@Override
public boolean containsAny(Collection<?> source)
{
synchronized (this.lock)
{
return this.delegate.containsAny(source);
}
}

@Override
public boolean containsNone(Collection<?> source)
{
synchronized (this.lock)
{
return this.delegate.containsNone(source);
}
}

@Override
public boolean containsAnyIterable(Iterable<?> source)
{
synchronized (this.lock)
{
return this.delegate.containsAnyIterable(source);
}
}

@Override
public boolean containsNoneIterable(Iterable<?> source)
{
synchronized (this.lock)
{
return this.delegate.containsNoneIterable(source);
}
}

@Override
public boolean containsAllArguments(Object... elements)
{
Expand Down

0 comments on commit 0cef691

Please sign in to comment.