From 7479e7b5a04b921e6d0fa12d03b6fe1b0561bff7 Mon Sep 17 00:00:00 2001 From: priyank-sriv Date: Mon, 15 Jun 2020 19:27:30 +0530 Subject: [PATCH] unit test for empty and full buffer --- .../circularbuffer/CircularBuffer.java | 7 +----- .../CircularBufferUnitTest.java | 25 ++++++++++++++----- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/data-structures/src/main/java/com/baeldung/circularbuffer/CircularBuffer.java b/data-structures/src/main/java/com/baeldung/circularbuffer/CircularBuffer.java index a74b480231..6f60621bc8 100644 --- a/data-structures/src/main/java/com/baeldung/circularbuffer/CircularBuffer.java +++ b/data-structures/src/main/java/com/baeldung/circularbuffer/CircularBuffer.java @@ -1,7 +1,7 @@ package com.baeldung.circularbuffer; public class CircularBuffer { - + private static final int DEFAULT_CAPACITY = 8; private final int capacity; @@ -18,11 +18,6 @@ public class CircularBuffer { this.writeSequence = -1; } - /** - * Adds a new element to the buffer, if the buffer is not full - * @param element - * @return - */ public boolean offer(E element) { if (!isFull()) { diff --git a/data-structures/src/test/java/com/baeldung/circularbuffer/CircularBufferUnitTest.java b/data-structures/src/test/java/com/baeldung/circularbuffer/CircularBufferUnitTest.java index 0809444901..801a46b45c 100644 --- a/data-structures/src/test/java/com/baeldung/circularbuffer/CircularBufferUnitTest.java +++ b/data-structures/src/test/java/com/baeldung/circularbuffer/CircularBufferUnitTest.java @@ -1,5 +1,8 @@ package com.baeldung.circularbuffer; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; @@ -9,7 +12,7 @@ public class CircularBufferUnitTest { private final String[] shapes = { "Circle", "Triangle", "Rectangle", "Square", "Rhombus", "Trapezoid", "Pentagon", "Pentagram", "Hexagon", "Hexagram" }; @Test - public void givenCircularBuffer_WhenAnElementIsAddedAndRemoved_thenBufferIsEmpty() { + public void givenCircularBuffer_whenAnElementIsAddedAndRemoved_thenBufferIsEmpty() { int capacity = 2; CircularBuffer buffer = new CircularBuffer<>(capacity); @@ -18,26 +21,36 @@ public class CircularBufferUnitTest { buffer.offer("Rectangle"); - assertEquals(false, buffer.isEmpty()); + assertFalse(buffer.isEmpty()); assertEquals(1, buffer.size()); buffer.poll(); - assertEquals(true, buffer.isEmpty()); + assertTrue(buffer.isEmpty()); } @Test - public void givenCircularBuffer_WhenElementsAreAddedToCapacity_thenBufferIsFull() { + public void givenCircularBuffer_whenFilledToCapacity_thenNoMoreElementsCanBeAdded() { int capacity = shapes.length; CircularBuffer buffer = new CircularBuffer<>(capacity); - assertEquals(true, buffer.isEmpty()); + assertTrue(buffer.isEmpty()); for (String shape : shapes) { buffer.offer(shape); } - assertEquals(true, buffer.isFull()); + assertTrue(buffer.isFull()); + assertFalse(buffer.offer("Octagon")); + } + + @Test + public void givenCircularBuffer_whenBufferIsEmpty_thenReturnsNull() { + + CircularBuffer buffer = new CircularBuffer<>(1); + + assertTrue(buffer.isEmpty()); + assertNull(buffer.poll()); } }