PdfPageCount durch gezielte Tests abgesichert
This commit is contained in:
@@ -0,0 +1,139 @@
|
|||||||
|
package de.gecheckt.pdf.umbenenner.domain.model;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for PdfPageCount record.
|
||||||
|
* <p>
|
||||||
|
* Focus: Validate constructor constraints, method behavior, and edge cases.
|
||||||
|
*/
|
||||||
|
class PdfPageCountTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testConstructor_ValidValue_CreatesInstance() {
|
||||||
|
// Arrange
|
||||||
|
int validPageCount = 1;
|
||||||
|
|
||||||
|
// Act
|
||||||
|
PdfPageCount pageCount = new PdfPageCount(validPageCount);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
assertEquals(validPageCount, pageCount.value());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testConstructor_ZeroValue_ThrowsException() {
|
||||||
|
// Arrange
|
||||||
|
int invalidPageCount = 0;
|
||||||
|
|
||||||
|
// Act & Assert
|
||||||
|
IllegalArgumentException exception = assertThrows(
|
||||||
|
IllegalArgumentException.class,
|
||||||
|
() -> new PdfPageCount(invalidPageCount)
|
||||||
|
);
|
||||||
|
|
||||||
|
assertTrue(exception.getMessage().contains("Page count must be >= 1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testConstructor_NegativeValue_ThrowsException() {
|
||||||
|
// Arrange
|
||||||
|
int invalidPageCount = -1;
|
||||||
|
|
||||||
|
// Act & Assert
|
||||||
|
IllegalArgumentException exception = assertThrows(
|
||||||
|
IllegalArgumentException.class,
|
||||||
|
() -> new PdfPageCount(invalidPageCount)
|
||||||
|
);
|
||||||
|
|
||||||
|
assertTrue(exception.getMessage().contains("Page count must be >= 1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testExceedsLimit_ValueBelowLimit_ReturnsFalse() {
|
||||||
|
// Arrange
|
||||||
|
PdfPageCount pageCount = new PdfPageCount(5);
|
||||||
|
int limit = 10;
|
||||||
|
|
||||||
|
// Act
|
||||||
|
boolean result = pageCount.exceedsLimit(limit);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
assertFalse(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testExceedsLimit_ValueAtLimit_ReturnsFalse() {
|
||||||
|
// Arrange
|
||||||
|
PdfPageCount pageCount = new PdfPageCount(5);
|
||||||
|
int limit = 5;
|
||||||
|
|
||||||
|
// Act
|
||||||
|
boolean result = pageCount.exceedsLimit(limit);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
assertFalse(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testExceedsLimit_ValueAboveLimit_ReturnsTrue() {
|
||||||
|
// Arrange
|
||||||
|
PdfPageCount pageCount = new PdfPageCount(10);
|
||||||
|
int limit = 5;
|
||||||
|
|
||||||
|
// Act
|
||||||
|
boolean result = pageCount.exceedsLimit(limit);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
assertTrue(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testExceedsLimit_NegativeLimit_HandlesCorrectly() {
|
||||||
|
// Arrange
|
||||||
|
PdfPageCount pageCount = new PdfPageCount(5);
|
||||||
|
int limit = -1;
|
||||||
|
|
||||||
|
// Act
|
||||||
|
boolean result = pageCount.exceedsLimit(limit);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
assertTrue(result); // Any positive page count exceeds a negative limit
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testEquals_SameValue_ObjectsEqual() {
|
||||||
|
// Arrange
|
||||||
|
PdfPageCount first = new PdfPageCount(5);
|
||||||
|
PdfPageCount second = new PdfPageCount(5);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
assertEquals(first, second);
|
||||||
|
assertEquals(first.hashCode(), second.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testEquals_DifferentValue_ObjectsNotEqual() {
|
||||||
|
// Arrange
|
||||||
|
PdfPageCount first = new PdfPageCount(5);
|
||||||
|
PdfPageCount second = new PdfPageCount(6);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
assertNotEquals(first, second);
|
||||||
|
assertNotEquals(first.hashCode(), second.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testToString_ReturnsExpectedFormat() {
|
||||||
|
// Arrange
|
||||||
|
PdfPageCount pageCount = new PdfPageCount(42);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
String result = pageCount.toString();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
assertTrue(result.contains("PdfPageCount"));
|
||||||
|
assertTrue(result.contains("value=42"));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user