Add EmptyDequeTest 74/78074/2
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 23 Nov 2018 03:48:19 +0000 (04:48 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 23 Nov 2018 10:12:43 +0000 (11:12 +0100)
This tests the class to 61%.

Change-Id: Iaf1f4dc14a31937a53a47766c7c42f05b423117d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
common/util/src/test/java/org/opendaylight/yangtools/util/EmptyDequeTest.java [new file with mode: 0644]

diff --git a/common/util/src/test/java/org/opendaylight/yangtools/util/EmptyDequeTest.java b/common/util/src/test/java/org/opendaylight/yangtools/util/EmptyDequeTest.java
new file mode 100644 (file)
index 0000000..fafe79d
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2018 Pantheon Technologies, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.yangtools.util;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
+
+import java.util.NoSuchElementException;
+import org.junit.Test;
+
+public class EmptyDequeTest {
+
+    @Test
+    public void testEmptyDeque() {
+        final EmptyDeque<?> deque = EmptyDeque.instance();
+        assertFalse(deque.offer(null));
+        assertFalse(deque.offerFirst(null));
+        assertFalse(deque.offerLast(null));
+        assertNull(deque.peek());
+        assertNull(deque.peekFirst());
+        assertNull(deque.peekLast());
+        assertNull(deque.poll());
+        assertNull(deque.pollFirst());
+        assertNull(deque.pollLast());
+
+        assertEquals(0, deque.size());
+        assertFalse(deque.iterator().hasNext());
+        assertFalse(deque.descendingIterator().hasNext());
+        assertEquals(0L, deque.spliterator().estimateSize());
+
+        final Object[] a = deque.toArray();
+        assertEquals(0, a.length);
+        assertSame(a, deque.toArray());
+        assertSame(a, deque.toArray(a));
+
+        assertFalse(deque.removeFirstOccurrence(null));
+        assertFalse(deque.removeLastOccurrence(null));
+
+        try {
+            deque.push(null);
+            fail();
+        } catch (IllegalStateException e) {
+            // expeced
+        }
+        try {
+            deque.addFirst(null);
+            fail();
+        } catch (IllegalStateException e) {
+            // expeced
+        }
+        try {
+            deque.addLast(null);
+            fail();
+        } catch (IllegalStateException e) {
+            // expeced
+        }
+
+        try {
+            deque.getFirst();
+            fail();
+        } catch (NoSuchElementException e) {
+            // expeced
+        }
+        try {
+            deque.getLast();
+            fail();
+        } catch (NoSuchElementException e) {
+            // expeced
+        }
+        try {
+            deque.pop();
+            fail();
+        } catch (NoSuchElementException e) {
+            // expeced
+        }
+        try {
+            deque.remove();
+            fail();
+        } catch (NoSuchElementException e) {
+            // expeced
+        }
+        try {
+            deque.removeFirst();
+            fail();
+        } catch (NoSuchElementException e) {
+            // expeced
+        }
+        try {
+            deque.removeLast();
+            fail();
+        } catch (NoSuchElementException e) {
+            // expeced
+        }
+    }
+}