58 lines
2.5 KiB
Java
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();
|
|
}
|
|
|
|
}
|