mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-02-07 00:17:07 +01:00
* init * user and pass to just pass lang update * session management fixes and avoid demo user locking * fix for UMASK and extract cleanups * fixes for user #889 and #332 * increase session count for demo site * fix * gcc * formatting * number fixes init * || true test * version bump * Hardening suggestions for Stirling-PDF / numberFxes (#899) Switch order of literals to prevent NullPointerException Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com> --------- Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com>
106 lines
3.9 KiB
Java
106 lines
3.9 KiB
Java
package stirling.software.SPDF.utils;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
import org.junit.jupiter.api.Test;
|
|
import java.util.List;
|
|
|
|
|
|
public class GeneralUtilsTest {
|
|
|
|
|
|
|
|
@Test
|
|
void testParsePageListWithAll() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"all"}, 5, false);
|
|
assertEquals(List.of(0, 1, 2, 3, 4), result, "'All' keyword should return all pages.");
|
|
}
|
|
|
|
@Test
|
|
void testParsePageListWithAllOneBased() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"all"}, 5, true);
|
|
assertEquals(List.of(1, 2, 3, 4, 5), result, "'All' keyword should return all pages.");
|
|
}
|
|
|
|
@Test
|
|
void nFunc() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"n"}, 5, true);
|
|
assertEquals(List.of(1, 2, 3, 4, 5), result, "'n' keyword should return all pages.");
|
|
}
|
|
|
|
@Test
|
|
void nFuncAdvanced() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"4n"}, 9, true);
|
|
//skip 0 as not valid
|
|
assertEquals(List.of(4,8), result, "'All' keyword should return all pages.");
|
|
}
|
|
|
|
@Test
|
|
void nFuncAdvancedZero() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"4n"}, 9, false);
|
|
//skip 0 as not valid
|
|
assertEquals(List.of(3,7), result, "'All' keyword should return all pages.");
|
|
}
|
|
|
|
@Test
|
|
void nFuncAdvanced2() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"4n-1"}, 9, true);
|
|
// skip -1 as not valid
|
|
assertEquals(List.of(3,7), result, "4n-1 should do (0-1), (4-1), (8-1)");
|
|
}
|
|
|
|
@Test
|
|
void nFuncAdvanced3() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"4n+1"}, 9, true);
|
|
assertEquals(List.of(1,5,9), result, "'All' keyword should return all pages.");
|
|
}
|
|
|
|
|
|
@Test
|
|
void nFuncAdvanced4() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"3+2n"}, 9, true);
|
|
assertEquals(List.of(3,5,7,9), result, "'All' keyword should return all pages.");
|
|
}
|
|
|
|
@Test
|
|
void nFuncAdvancedZerobased() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"4n"}, 9, false);
|
|
assertEquals(List.of(3,7), result, "'All' keyword should return all pages.");
|
|
}
|
|
|
|
@Test
|
|
void nFuncAdvanced2Zerobased() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"4n-1"}, 9, false);
|
|
assertEquals(List.of(2,6), result, "'All' keyword should return all pages.");
|
|
}
|
|
@Test
|
|
void testParsePageListWithRangeOneBasedOutput() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"1-3"}, 5, true);
|
|
assertEquals(List.of(1, 2, 3), result, "Range should be parsed correctly.");
|
|
}
|
|
|
|
|
|
@Test
|
|
void testParsePageListWithRangeZeroBaseOutput() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"1-3"}, 5, false);
|
|
assertEquals(List.of(0, 1, 2), result, "Range should be parsed correctly.");
|
|
}
|
|
|
|
|
|
@Test
|
|
void testParsePageListWithRangeOneBasedOutputFull() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"1,3,7-8"}, 8, true);
|
|
assertEquals(List.of(1, 3, 7,8), result, "Range should be parsed correctly.");
|
|
}
|
|
|
|
@Test
|
|
void testParsePageListWithRangeOneBasedOutputFullOutOfRange() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"1,3,7-8"}, 5, true);
|
|
assertEquals(List.of(1, 3), result, "Range should be parsed correctly.");
|
|
}
|
|
@Test
|
|
void testParsePageListWithRangeZeroBaseOutputFull() {
|
|
List<Integer> result = GeneralUtils.parsePageList(new String[]{"1,3,7-8"}, 8, false);
|
|
assertEquals(List.of(0, 2, 6,7), result, "Range should be parsed correctly.");
|
|
}
|
|
}
|