Skip to content

Commit 8b19d81

Browse files
committed
Improves unit test coverage.
1 parent 3b87d7d commit 8b19d81

File tree

8 files changed

+26
-17
lines changed

8 files changed

+26
-17
lines changed

src/main/java/org/javimmutable/collections/btree_list/JImmutableBtreeList.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ public JImmutableBtreeList<T> insert(int index,
190190

191191
@Nonnull
192192
@Override
193-
public JImmutableList<T> getInsertableSelf()
193+
public JImmutableBtreeList<T> getInsertableSelf()
194194
{
195195
return this;
196196
}
@@ -355,9 +355,9 @@ public T get(int index)
355355

356356
@Nonnull
357357
@Override
358-
public JImmutableRandomAccessList<T> insert(@Nonnull Iterable<? extends T> values)
358+
public JImmutableBtreeList<T> insert(@Nonnull Iterable<? extends T> values)
359359
{
360-
JImmutableRandomAccessList<T> answer = this;
360+
JImmutableBtreeList<T> answer = this;
361361
for (T value : values) {
362362
answer = answer.insertLast(value);
363363
}

src/main/java/org/javimmutable/collections/indexed/IndexedList.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444
@Immutable
4545
public class IndexedList<T>
46-
implements Indexed<T>
46+
implements Indexed<T>
4747
{
4848
private final List<? extends T> values;
4949

@@ -56,10 +56,6 @@ private IndexedList(List<? extends T> values)
5656
* Produces an instance using a copy of the specified List to ensure that changes to the List
5757
* will not influence the values returned by the instance's methods. This is generally preferred
5858
* to the unsafe() constructor.
59-
*
60-
* @param values
61-
* @param <T>
62-
* @return
6359
*/
6460
public static <T> IndexedList<T> copied(List<? extends T> values)
6561
{
@@ -71,10 +67,6 @@ public static <T> IndexedList<T> copied(List<? extends T> values)
7167
* changes to the List will cause changes to this instance's values. However this can be useful
7268
* when performance is important and the instance will not be shared or retained beyond a single
7369
* method scope.
74-
*
75-
* @param values
76-
* @param <T>
77-
* @return
7870
*/
7971
public static <T> IndexedList<T> retained(List<? extends T> values)
8072
{

src/main/java/org/javimmutable/collections/listmap/AbstractJImmutableListMap.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ protected void checkListMapInvariants()
219219
for (JImmutableMap.Entry<K, JImmutableList<V>> entry : contents) {
220220
entry.getValue().checkInvariants();
221221
}
222-
//TODO: review checkListMapInvariants()
223222
}
224223

225224
/**
Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,18 @@
4040
import org.javimmutable.collections.JImmutableList;
4141
import org.javimmutable.collections.JImmutableListMap;
4242
import org.javimmutable.collections.MapEntry;
43+
import org.javimmutable.collections.cursors.StandardCursor;
4344
import org.javimmutable.collections.cursors.StandardCursorTest;
45+
import org.javimmutable.collections.indexed.IndexedList;
4446
import org.javimmutable.collections.list.JImmutableArrayList;
4547

4648
import java.util.Arrays;
4749
import java.util.Collections;
50+
import java.util.List;
4851

49-
public abstract class AbstractJImmutableListMapTestTestCase
52+
import static com.google.common.primitives.Ints.asList;
53+
54+
public abstract class AbstractJImmutableListMapTestCase
5055
extends TestCase
5156
{
5257
public JImmutableListMap<Integer, Integer> verifyOperations(JImmutableListMap<Integer, Integer> map)
@@ -81,6 +86,7 @@ public JImmutableListMap<Integer, Integer> verifyOperations(JImmutableListMap<In
8186
assertEquals(Arrays.asList(87), map.getList(3).getList());
8287
assertSame(map.getList(3), map.get(3));
8388

89+
JImmutableListMap<Integer, Integer> preInsertMap = map;
8490
map = map.assign(3, JImmutableArrayList.<Integer>of().insert(300).insert(7).insert(7).insert(14));
8591
assertFalse(map.isEmpty());
8692
assertEquals(3, map.size());
@@ -91,6 +97,16 @@ public JImmutableListMap<Integer, Integer> verifyOperations(JImmutableListMap<In
9197
assertEquals(Arrays.asList(300, 7, 7, 14), map.getList(3).getList());
9298
assertSame(map.getList(3), map.get(3));
9399

100+
preInsertMap = preInsertMap.delete(3);
101+
final List<Integer> insertValuesList = asList(300, 7, 7, 14);
102+
assertEquals(map, preInsertMap.insertAll(3, insertValuesList));
103+
assertEquals(map, preInsertMap.insertAll(3, insertValuesList.iterator()));
104+
assertEquals(map, preInsertMap.insertAll(3, StandardCursor.of(IndexedList.retained(insertValuesList))));
105+
106+
assertEquals(map.delete(1).delete(3), map.deleteAll(asList(3, 1)));
107+
assertEquals(map.delete(1).delete(3), map.deleteAll(asList(3, 1).iterator()));
108+
assertEquals(map.delete(1).delete(3), map.deleteAll(StandardCursor.of(IndexedList.retained(asList(3, 1)))));
109+
94110
final JImmutableList<Integer> defaultValue = JImmutableArrayList.<Integer>of().insert(17);
95111
assertTrue(map.find(8).isEmpty());
96112
assertNull(map.get(8));

src/test/java/org/javimmutable/collections/listmap/JImmutableHashListMapTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
import static java.util.stream.Collectors.toList;
4646

4747
public class JImmutableHashListMapTest
48-
extends AbstractJImmutableListMapTestTestCase
48+
extends AbstractJImmutableListMapTestCase
4949
{
5050
@SuppressWarnings("unchecked")
5151
public void test()

src/test/java/org/javimmutable/collections/listmap/JImmutableInsertOrderListMapTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
import static java.util.stream.Collectors.toList;
4646

4747
public class JImmutableInsertOrderListMapTest
48-
extends AbstractJImmutableListMapTestTestCase
48+
extends AbstractJImmutableListMapTestCase
4949
{
5050
@SuppressWarnings("unchecked")
5151
public void test()

src/test/java/org/javimmutable/collections/listmap/JImmutableTreeListMapTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import static java.util.stream.Collectors.toList;
4747

4848
public class JImmutableTreeListMapTest
49-
extends AbstractJImmutableListMapTestTestCase
49+
extends AbstractJImmutableListMapTestCase
5050
{
5151
@SuppressWarnings("unchecked")
5252
public void testNormalOrder()

src/test/java/org/javimmutable/collections/setmap/AbstractJImmutableSetMapTestCase.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
import java.util.Map;
5858
import java.util.Random;
5959
import java.util.Set;
60+
import java.util.stream.Collectors;
6061

6162
public abstract class AbstractJImmutableSetMapTestCase
6263
extends TestCase
@@ -107,6 +108,7 @@ public JImmutableSetMap<Integer, Integer> verifyOperations(JImmutableSetMap<Inte
107108
assertSame(map.getSet(2), map.get(2));
108109
assertEquals(new HashSet<>(Arrays.asList(300, 7, 14)), map.getSet(3).getSet());
109110
assertSame(map.getSet(3), map.get(3));
111+
assertEquals(map.getSet(3), map.values(3).stream().collect(Collectors.toSet()));
110112

111113
final JImmutableSet<Integer> defaultValue = JImmutableHashSet.<Integer>of().insert(17);
112114
assertTrue(map.find(8).isEmpty());

0 commit comments

Comments
 (0)