From b929ced7bc3753faa6856bd38d34d63555e52323 Mon Sep 17 00:00:00 2001 From: Dmytro Yakovenko Date: Thu, 20 Oct 2022 16:54:01 +0300 Subject: [PATCH] fix test add check for tail value --- .../java/com/bobocode/cs/LinkedQueueTest.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/2-0-data-structures-and-algorithms/2-2-3-linked-queue/src/test/java/com/bobocode/cs/LinkedQueueTest.java b/2-0-data-structures-and-algorithms/2-2-3-linked-queue/src/test/java/com/bobocode/cs/LinkedQueueTest.java index 91a6e2616..88c1a7d9d 100644 --- a/2-0-data-structures-and-algorithms/2-2-3-linked-queue/src/test/java/com/bobocode/cs/LinkedQueueTest.java +++ b/2-0-data-structures-and-algorithms/2-2-3-linked-queue/src/test/java/com/bobocode/cs/LinkedQueueTest.java @@ -62,7 +62,7 @@ void createNodeClass() { @Test @Order(2) - void chekFieldsNameInNodeClass() { + void checkFieldsNameInNodeClass() { Class innerClass = getInnerStaticNodeClass(); boolean hasElementField = hasField(innerClass, ELEMENT_FIELD); boolean hasNodeField = hasField(innerClass, NODE_FIELD); @@ -104,16 +104,19 @@ void addFillsQueueWhenItIsEmpty() { @Order(5) void addFillsQueueWhenItIsNotEmpty() { addIntElementToQueue(12); + addIntElementToQueue(13); integerQueue.add(111); int size = getInternalSize(); boolean isEmpty = isEmptyQueue(); Integer firstElement = (Integer) pollElementFromQueue(); Integer secondElement = (Integer) pollElementFromQueue(); + Integer tailValue = (Integer) getNodeValue(TAIL_FIELD); - assertThat(size).isEqualTo(2); + assertThat(size).isEqualTo(3); assertThat(isEmpty).isEqualTo(false); assertThat(firstElement).isEqualTo(12); - assertThat(secondElement).isEqualTo(111); + assertThat(secondElement).isEqualTo(13); + assertThat(tailValue).isEqualTo(111); } @Test @@ -363,4 +366,12 @@ private Field getAccessibleFieldByPredicate(Object object, Predicate pred field.setAccessible(true); return field; } + + @SneakyThrows + private Object getNodeValue(Predicate predicate) { + Object field = getAccessibleFieldByPredicate(integerQueue, predicate).get(integerQueue); + final Field value = getAccessibleFieldByPredicate(field, ELEMENT_FIELD); + value.setAccessible(true); + return value.get(field); + } }