From c8d8829f8390a45b08125413cf825dbfbce89a7760b3828881299f64c26f3a25 Mon Sep 17 00:00:00 2001 From: Minimons Date: Wed, 3 Dec 2025 10:39:51 +0100 Subject: [PATCH] NoIssue: Add two tests for random Strings --- .../tests/sad/IncorrectRandomStringTests.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/test/java/com/r35157/libs/random/tests/sad/IncorrectRandomStringTests.java diff --git a/src/test/java/com/r35157/libs/random/tests/sad/IncorrectRandomStringTests.java b/src/test/java/com/r35157/libs/random/tests/sad/IncorrectRandomStringTests.java new file mode 100644 index 0000000..9144de5 --- /dev/null +++ b/src/test/java/com/r35157/libs/random/tests/sad/IncorrectRandomStringTests.java @@ -0,0 +1,54 @@ +package com.r35157.libs.random.tests.sad; + +import com.r35157.libs.random.RandomValueGeneratorInt; +import com.r35157.libs.random.RandomValueGeneratorString; +import com.r35157.libs.random.impl.ref.RandomValueGeneratorIntImpl; +import com.r35157.libs.random.impl.ref.RandomValueGeneratorStringImpl; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +@DisplayName("Sad Random Strings Tests") +public class IncorrectRandomStringTests { + + @DisplayName("Do initializing with throw NPE?") + @Test + void testThatInitializingWithNullIntGeneratorThrows() { + // Arrange + String expectedErrorMsg = "Cannot initialize with RandomValueGeneratorInt!"; + RandomValueGeneratorInt rvgi = null; + + // Act + Assert + NullPointerException thrown = assertThrows( + NullPointerException.class, + () -> new RandomValueGeneratorStringImpl(rvgi) + ); + + // Assert + String actualErrorMsg = thrown.getMessage(); + assertEquals(expectedErrorMsg, actualErrorMsg); + } + + @DisplayName("Do generating negative length Strings throw IAE?") + @Test + void testThatGeneratingStringsOfNegativeLengthThrowsIAE() { + // Arrange + int length = -1; + String expectedErrorMsg = "Cannot generate random Strings of size " + length + "!"; + RandomValueGeneratorString sut = new RandomValueGeneratorStringImpl(rvgi); + + // Act + Assert + IllegalArgumentException thrown = assertThrows( + IllegalArgumentException.class, + () -> sut.getSomeStringAlphaNumericOnly(length) + ); + + // Assert + String actualErrorMsg = thrown.getMessage(); + assertEquals(expectedErrorMsg, actualErrorMsg); + } + + private static final RandomValueGeneratorInt rvgi = new RandomValueGeneratorIntImpl(); +}