blob: 518f178c9574fd7d55b895f833636ec360bdeabb [file] [log] [blame]
/*=============================================================================#
# Copyright (c) 2020 Stephan Wahlbrink and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
# which is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
#
# Contributors:
# Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
#=============================================================================*/
package org.eclipse.statet.jcommons.collections;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.junit.jupiter.api.Test;
import org.eclipse.statet.jcommons.lang.NonNullByDefault;
@NonNullByDefault
public class CopyOnWriteListSetTest extends AbstractMutableSetTest<CopyOnWriteListSet<String>> {
public CopyOnWriteListSetTest() {
super(CopyOnWriteListSet.class);
}
@Override
protected CopyOnWriteListSet<String> createEmptyCollection() {
return new CopyOnWriteListSet<>();
}
@Override
protected CopyOnWriteListSet<String> createCollection(final String... elements) {
final Set<String> s= new HashSet<>(Arrays.asList(elements));
return new CopyOnWriteListSet<>(s);
}
@Override
protected void assertCollectionEquals(final String... expected) {
CollectionTests.assertListEquals(expected, this.c.toList());
}
@Test
public void clearToList() {
ImList<String> r;
this.c= createCollection("A", "B", "C", "D", "E", "F");
r= this.c.clearToList();
assertCollectionEmpty();
CollectionTests.assertListEquals(new String[] { "A", "B", "C", "D", "E", "F" }, r);
r= this.c.clearToList();
assertCollectionEmpty();
CollectionTests.assertCollectionEmpty(r);
}
}