From 61db19eb81265901cc0bd271ecdf0a12026c75fe Mon Sep 17 00:00:00 2001 From: Kaverin Maxim Date: Mon, 27 Jan 2025 16:41:28 +0300 Subject: [PATCH] Add tests for NoNulls list --- .../java/org/cactoos/list/NoNullsTest.java | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/src/test/java/org/cactoos/list/NoNullsTest.java b/src/test/java/org/cactoos/list/NoNullsTest.java index 03078759e..c694a28dd 100644 --- a/src/test/java/org/cactoos/list/NoNullsTest.java +++ b/src/test/java/org/cactoos/list/NoNullsTest.java @@ -26,8 +26,10 @@ import java.util.ArrayList; import java.util.List; import java.util.ListIterator; +import org.hamcrest.core.IsEqual; import org.junit.jupiter.api.Test; import org.llorllale.cactoos.matchers.Assertion; +import org.llorllale.cactoos.matchers.IsTrue; import org.llorllale.cactoos.matchers.Throws; /** @@ -141,4 +143,87 @@ void getThrowsErrorIfListIteratorPreviousValueIsNullValue() { ) ).affirm(); } + + @Test + void indexOfThrowsErrorIfArgumentIsNull() { + new Assertion<>( + "must throw error if searched value is null", + () -> new NoNulls<>( + new ListOf<>(1, 2, 3) + ).indexOf(null), + new Throws<>( + "Item can't be NULL in #indexOf(T)", + IllegalArgumentException.class + ) + ).affirm(); + } + + @Test + void indexOfTest() { + new Assertion<>( + "must return first index", + new NoNulls<>( + new ListOf<>(1, 2, 2, 2, 5) + ).indexOf(2), + new IsEqual<>(1) + ).affirm(); + } + + @Test + void lastIndexOfThrowsErrorIfArgumentIsNull() { + new Assertion<>( + "must throw error if searched value is null", + () -> new NoNulls<>( + new ListOf<>(1, 2, 3) + ).lastIndexOf(null), + new Throws<>( + "Item can't be NULL in #lastIndexOf(T)", + IllegalArgumentException.class + ) + ).affirm(); + } + + @Test + void lastIndexOfTest() { + new Assertion<>( + "must return last index", + new NoNulls<>( + new ListOf<>(1, 2, 2, 2, 5) + ).lastIndexOf(2), + new IsEqual<>(3) + ).affirm(); + } + + @Test + void sizeTest() { + new Assertion<>( + "must return list size", + new NoNulls<>( + new ListOf<>(1, 2, 2, 2, 5) + ).size(), + new IsEqual<>(5) + ).affirm(); + } + + @Test + void isEmptyTrueTest() { + new Assertion<>( + "must return true if list is empty", + new NoNulls<>( + new ListOf<>() + ).isEmpty(), + new IsTrue() + ).affirm(); + } + + @Test + void isEmptyFalseTest() { + new Assertion<>( + "must return false if list is not empty", + new NoNulls<>( + new ListOf<>(1, 2, 3) + ).isEmpty(), + new IsEqual<>(false) + ).affirm(); + } }