Код: Выделить всё
abstract class LineBreaker {
public enum Mode {
LAST_SPACES,
LAST_CHARS,
DUMMY
}
public static String process(
final String text,
final LineBreaker.Mode mode,
final int amount
) {
switch (mode) {
case LAST_SPACES : {
// blah blah create `processingResult`
return processingResult;
}
case LAST_CHARS : {
// blah blah create `processingResult`
return processingResult;
}
default :
throw new IllegalStateException(
"Processor for " +
LineBreaker.class.getSimpleName() + "." +
LineBreaker.Mode.class.getSimpleName() + "." +
mode.name() +
" not implemented"
);
}
}
}
Код: Выделить всё
@Test
void testLineBreakerException() {
assertThrows(
IllegalStateException.class,
() -> LineBreaker.process( "Dog", LineBreaker.Mode.DUMMY, 10 ),
"Expected " + IllegalStateException.class.getSimpleName()
);
}
покрытие кода без дополнительного фиктивного перечисления element
p>
модульный тест с дополнительным пустого enum element < /strong> < /p>
Code Copation без дополнительного фиктивного enum element < /p>
Подробнее здесь: https://stackoverflow.com/questions/783 ... ult-branch