Files
JIMRI/java/test/jmri/util/ChunkyNumbersComparatorTest.java
2026-06-17 14:00:51 +02:00

58 lines
2.5 KiB
Java

package jmri.util;
import org.junit.jupiter.api.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* Tests for the jmri.util.ChunkyNumbersComparator class.
*
* @author Bob Jacobsen copyright 2026
*/
public class ChunkyNumbersComparatorTest {
protected ChunkyNumbersComparator ac;
// tests are final to make sure they're not overloaded (hence ignored) in any subclass
@Test
public final void testAlphanumThenNumeric() {
assertEquals( 0, ac.compare("ATSF 123", "ATSF 123"), "ATSF 123 = ATSF 123");
assertEquals( -2, ac.compare("ATSF 123", "CN 123"), "ATSF 123 < CN 123");
assertEquals( -1, ac.compare("ATSF 123", "ATSF 456"), "ATSF 123 < ATSF 456");
assertEquals( -1, ac.compare("ATSF 45", "ATSF 456"), "ATSF 45 < ATSF 456");
assertEquals( -1, ac.compare("ATSF 54", "ATSF 456"), "ATSF 54 < ATSF 456");
assertEquals( +2, ac.compare("CN 123", "ATSF 123"), "CN 123 > ATSF 123");
assertEquals( +1, ac.compare("ATSF 456", "ATSF 123"), "ATSF 456 > ATSF 123");
assertEquals( +1, ac.compare("ATSF 456", "ATSF 45"), "ATSF 456 > ATSF 45");
assertEquals( +1, ac.compare("ATSF 456", "ATSF 54"), "ATSF 456 > ATSF 54");
assertEquals( 0, ac.compare("A 1 B 2 ATSF 123", "A 1 B 2 ATSF 123"), "A 1 B 2 ATSF 123 = A 1 B 2 ATSF 123");
assertEquals( -2, ac.compare("A 1 B 2 ATSF 123", "A 1 B 2 CN 123"), "A 1 B 2 ATSF 123 < A 1 B 2 CN 123");
assertEquals( -1, ac.compare("A 1 B 2 ATSF 123", "A 1 B 2 ATSF 456"), "A 1 B 2 ATSF 123 < A 1 B 2 ATSF 456");
assertEquals( -1, ac.compare("A 1 B 2 ATSF 45", "A 1 B 2 ATSF 456"), "A 1 B 2 ATSF 45 < A 1 B 2 ATSF 456");
assertEquals( -1, ac.compare("A 1 B 2 ATSF 54", "A 1 B 2 ATSF 456"), "A 1 B 2 ATSF 54 < A 1 B 2 ATSF 456");
assertEquals( +2, ac.compare("A 1 B 2 CN 123", "A 1 B 2 ATSF 123"), "A 1 B 2 CN 123 > A 1 B 2 ATSF 123");
assertEquals( +1, ac.compare("A 1 B 2 ATSF 456", "A 1 B 2 ATSF 123"), "A 1 B 2 ATSF 456 > A 1 B 2 ATSF 123");
assertEquals( +1, ac.compare("A 1 B 2 ATSF 456", "A 1 B 2 ATSF 45"), "A 1 B 2 ATSF 456 > A 1 B 2 ATSF 45");
assertEquals( +1, ac.compare("A 1 B 2 ATSF 456", "A 1 B 2 ATSF 54"), "A 1 B 2 ATSF 456 > A 1 B 2 ATSF 54");
}
// from here down is testing infrastructure
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
ac = new ChunkyNumbersComparator();
}
@AfterEach
public void tearDown() {
JUnitUtil.tearDown();
}
}