Files
oops/src/test/java/oving1/DigitTest.java
T
Andreas Omholt Olsen 2556a8f5eb Add oving 1
2026-01-09 11:53:16 +01:00

70 lines
2.1 KiB
Java

package oving1;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
public class DigitTest {
private String digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
@Test
@DisplayName("Constructor")
public void testConstructor() {
Digit digit = new Digit(10);
assertEquals(0, digit.getValue(), "Wrong value when using constructor");
assertEquals(10, digit.getBase(), "Wrong base when using constructor");
}
@Test
@DisplayName("Increment value")
public void testIncrementedValue() {
for (int base = 2; base < 17; base++) {
Digit digit = new Digit(base);
assertEquals(0, digit.getValue(), "Wrong value for created digit");
int i = 1;
while (i < base) {
boolean result = digit.increment();
assertEquals(i, digit.getValue(), "The value was not incremented correctly");
assertFalse(result,
"Increment should return false when the value is less than the base");
i++;
}
boolean result = digit.increment();
assertEquals(0, digit.getValue(),
"The value was not reset to 0 when it became equal to the base");
assertTrue(result, "Increment should return true when the value is reset to 0");
}
}
@Test
@DisplayName("Increment value and convert to string")
public void testIncrementedToString() {
for (int base = 2; base < 17; base++) {
Digit digit = new Digit(base);
assertEquals("0", digit.toString(), "Wrong string representation");
int i = 1;
while (i < base) {
boolean result = digit.increment();
assertEquals(String.valueOf(digits.charAt(i)), digit.toString(),
"Wrong string representation");
assertFalse(result,
"Increment should return false when the value is less than the base");
i++;
}
boolean result = digit.increment();
assertEquals("0", digit.toString(), "Wrong string representation");
assertTrue(result, "Increment should return true when the value is reset to 0");
}
}
}