You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2019/11/03 23:58:45 UTC

[commons-collections] branch master updated: Add junit for getWithNull and subList in the LazyListTest. (#103)

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git


The following commit(s) were added to refs/heads/master by this push:
     new b78b81b  Add junit for getWithNull and subList in the LazyListTest. (#103)
b78b81b is described below

commit b78b81bc46222d70040d2a27ef2799f3f47a4af6
Author: dota17 <50...@users.noreply.github.com>
AuthorDate: Mon Nov 4 07:58:39 2019 +0800

    Add junit for getWithNull and subList in the LazyListTest. (#103)
    
    * Add junit for getWithNull and subList in the LazyListTest.
    
    * Add junit for add, addAll, remove, subList, isFull and maxSize in the FixedSizeListTest.
    
    * Add junit for  subList in the PredicatedListTest.
    
    * Add junit for  subList in the TransformedListTest.
    
    * Remove the kinds of //---... lines.
---
 .../collections4/list/FixedSizeListTest.java       | 60 ++++++++++++++++++++++
 .../commons/collections4/list/LazyListTest.java    | 48 +++++++++++++++++
 .../collections4/list/PredicatedListTest.java      | 22 ++++++++
 .../collections4/list/TransformedListTest.java     | 24 +++++++++
 4 files changed, 154 insertions(+)

diff --git a/src/test/java/org/apache/commons/collections4/list/FixedSizeListTest.java b/src/test/java/org/apache/commons/collections4/list/FixedSizeListTest.java
index 0c112ff..2eda80f 100644
--- a/src/test/java/org/apache/commons/collections4/list/FixedSizeListTest.java
+++ b/src/test/java/org/apache/commons/collections4/list/FixedSizeListTest.java
@@ -83,4 +83,64 @@ public class FixedSizeListTest<E> extends AbstractListTest<E> {
         Assert.assertEquals("Modifying an the underlying list is allowed",
                 sizeBefore + 1, fixedSizeList.size());
     }
+
+    private FixedSizeList<String> initFixedSizeList() {
+        List<String> decoratedList = new ArrayList<>();
+        decoratedList.add("item 1");
+        decoratedList.add("item 2");
+        //
+        return FixedSizeList.fixedSizeList(decoratedList);
+    }
+
+    public void testAdd() {
+        FixedSizeList<String> fixedSizeList = initFixedSizeList();
+
+        try {
+            fixedSizeList.add(2,"New Value");
+            fail();
+        } catch (UnsupportedOperationException ex) {}
+    }
+
+
+    public void testAddAll() {
+        FixedSizeList<String> fixedSizeList = initFixedSizeList();
+
+        List<String> addList = new ArrayList<>();
+        addList.add("item 3");
+        addList.add("item 4");
+
+        try {
+            fixedSizeList.addAll(2, addList);
+            fail();
+        } catch (UnsupportedOperationException ex) {}
+    }
+
+    public void testRemove() {
+        FixedSizeList<String> fixedSizeList = initFixedSizeList();
+
+        try {
+            fixedSizeList.remove(1);
+            fail();
+        } catch (UnsupportedOperationException ex) {}
+    }
+
+    public void testSubList() {
+        FixedSizeList<String> fixedSizeList = initFixedSizeList();
+
+        List<String> subFixedSizeList = fixedSizeList.subList(1, 1);
+        Assert.assertNotNull(subFixedSizeList);
+        Assert.assertEquals(0, subFixedSizeList.size());
+    }
+
+    public void testIsFull() {
+        FixedSizeList<String> fixedSizeList = initFixedSizeList();
+
+        Assert.assertTrue(fixedSizeList.isFull());
+    }
+
+    public void testMaxSize() {
+        FixedSizeList<String> fixedSizeList = initFixedSizeList();
+
+        Assert.assertEquals(2, fixedSizeList.maxSize());
+    }
 }
diff --git a/src/test/java/org/apache/commons/collections4/list/LazyListTest.java b/src/test/java/org/apache/commons/collections4/list/LazyListTest.java
index 26adbe0..1403901 100644
--- a/src/test/java/org/apache/commons/collections4/list/LazyListTest.java
+++ b/src/test/java/org/apache/commons/collections4/list/LazyListTest.java
@@ -98,6 +98,54 @@ public class LazyListTest extends AbstractObjectTest {
         assertNotNull(fourthElement);
     }
 
+    public void testGetWithNull() {
+        final List<Integer> hours = Arrays.asList(7, 5, 8, 2);
+        final Transformer<Integer, LocalDateTime> transformer = input -> LocalDateTime.now().withHour(hours.get(input));
+        List<LocalDateTime> list = new LazyList<>(new ArrayList<>(), transformer);
+        LocalDateTime fourthElement = list.get(3);
+        assertFalse(list.isEmpty());
+        assertNotNull(fourthElement);
+        list.remove(3);
+        list.add(3,null);
+        fourthElement = list.get(3);
+        assertNotNull(fourthElement);
+    }
+
+    public void testSubListWitheFactory() {
+        final Factory<LocalDateTime> dateFactory = LocalDateTime::now;
+        List<LocalDateTime> list = new LazyList<>(new ArrayList<>(), dateFactory);
+        LocalDateTime fourthElement = list.get(3);
+        assertFalse(list.isEmpty());
+        assertNotNull(fourthElement);
+        testSubList(list);
+    }
 
+    public void testSubListWithTransformer() {
+        final List<Integer> hours = Arrays.asList(7, 5, 8, 2);
+        final Transformer<Integer, LocalDateTime> transformer = input -> LocalDateTime.now().withHour(hours.get(input));
+        List<LocalDateTime> list = new LazyList<>(new ArrayList<>(), transformer);
+        LocalDateTime fourthElement = list.get(3);
+        assertFalse(list.isEmpty());
+        assertNotNull(fourthElement);
+        testSubList(list);
+    }
+
+    private void testSubList(List<LocalDateTime> list) {
+        List<LocalDateTime> subList = list.subList(1, 3);
+        assertFalse(subList.isEmpty());
+        assertNotNull(subList);
+        assertEquals(2, subList.size());
+
+        subList = list.subList(0, 1);
+        assertFalse(subList.isEmpty());
+        assertEquals(1, subList.size());
+
+        subList = list.subList(1, 1);
+        assertTrue(subList.isEmpty());
+
+        subList = list.subList(0, list.size());
+        assertFalse(subList.isEmpty());
+        assertEquals(list.size(), subList.size());
+    }
 
 }
diff --git a/src/test/java/org/apache/commons/collections4/list/PredicatedListTest.java b/src/test/java/org/apache/commons/collections4/list/PredicatedListTest.java
index 8ef6a41..478124f 100644
--- a/src/test/java/org/apache/commons/collections4/list/PredicatedListTest.java
+++ b/src/test/java/org/apache/commons/collections4/list/PredicatedListTest.java
@@ -130,6 +130,28 @@ public class PredicatedListTest<E> extends AbstractListTest<E> {
          list.contains("three"));
     }
 
+    public void testSubList() {
+        final List<E> list = makeTestList();
+        list.add((E) "zero");
+        //subList without any element of list
+        List<E> subList = list.subList(0, 0);
+        assertNotNull(subList);
+        assertEquals(0, subList.size());
+
+        //subList with one element oif list
+        subList = list.subList(0, 1);
+        assertEquals(1, subList.size());
+
+        final List<E> elements = new ArrayList<>();
+        elements.add((E) "one");
+        elements.add((E) "two");
+        elements.add((E) "three");
+        list.addAll(1, elements);
+        //subList with all elements of list
+        subList = list.subList(0, list.size());
+        assertEquals(list.size(), subList.size());
+    }
+
     @Override
     public String getCompatibilityVersion() {
         return "4";
diff --git a/src/test/java/org/apache/commons/collections4/list/TransformedListTest.java b/src/test/java/org/apache/commons/collections4/list/TransformedListTest.java
index 10d28eb..1ef1596 100644
--- a/src/test/java/org/apache/commons/collections4/list/TransformedListTest.java
+++ b/src/test/java/org/apache/commons/collections4/list/TransformedListTest.java
@@ -127,6 +127,30 @@ public class TransformedListTest<E> extends AbstractListTest<E> {
         assertEquals(true, list.remove(Integer.valueOf((String) els[0])));
     }
 
+    public void testSubList() {
+        final List<E> list = makeObject();
+        List<E> subList = list.subList(0, 0);
+        assertNotNull(subList);
+        list.add((E) "zero");
+        //subList without any element of list
+        subList = list.subList(0, 0);
+        assertNotNull(subList);
+        assertEquals(0, subList.size());
+
+        //subList with one element oif list
+        subList = list.subList(0, 1);
+        assertEquals(1, subList.size());
+
+        final List<E> elements = new ArrayList<>();
+        elements.add((E) "one");
+        elements.add((E) "two");
+        elements.add((E) "three");
+        list.addAll(1, elements);
+        //subList with all elements of list
+        subList = list.subList(0, list.size());
+        assertEquals(list.size(), subList.size());
+    }
+
     @Override
     public String getCompatibilityVersion() {
         return "4";