71 lines
1.6 KiB
Java
71 lines
1.6 KiB
Java
package org.usi.sq.util.numbers;
|
|
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
|
public class NumberCheckerBranchCoverageTest {
|
|
INumberChecker nc = null;
|
|
@BeforeEach
|
|
public void createNumberChecker(){
|
|
nc = NumberCheckerFactory.create();
|
|
}
|
|
|
|
@Test
|
|
public void emptyStringNotHex() {
|
|
assertFalse(nc.isHexNumber(""));
|
|
}
|
|
|
|
@Test
|
|
public void plusNotHex() {
|
|
assertFalse(nc.isHexNumber("+"));
|
|
}
|
|
|
|
@Test
|
|
public void oneOneNotHex() {
|
|
assertFalse(nc.isHexNumber("11"));
|
|
}
|
|
|
|
@Test
|
|
public void zeroBNotHex() {
|
|
assertFalse(nc.isHexNumber("0B"));
|
|
}
|
|
|
|
@Test
|
|
public void zeroXNotHex() {
|
|
assertFalse(nc.isHexNumber("0x"));
|
|
}
|
|
|
|
@Test
|
|
public void zeroXGNotHex() {
|
|
assertFalse(nc.isHexNumber("0xG"));
|
|
}
|
|
|
|
@Test
|
|
public void zeroXZeroHex() {
|
|
assertTrue(nc.isHexNumber("0x0"));
|
|
}
|
|
|
|
// NOTE: JaCoCo does not really measure branch coverage, but modified condition coverage (MCC). The following tests
|
|
// are needed to satisfy MCC, remove them for a minimal 100% branch coverage test suite
|
|
|
|
@Test
|
|
public void nullIsNotHex() {
|
|
assertFalse(nc.isHexNumber(null));
|
|
}
|
|
|
|
@Test
|
|
public void offByOneNotHex() {
|
|
assertFalse(nc.isHexNumber("-0X!"));
|
|
assertFalse(nc.isHexNumber("-0Xg"));
|
|
}
|
|
|
|
@Test
|
|
public void zeroXBIsHex() {
|
|
assertTrue(nc.isHexNumber("0xB"));
|
|
assertTrue(nc.isHexNumber("0xb"));
|
|
}
|
|
}
|