package jnpf.dmsService.support; import org.junit.jupiter.api.Test; import static jnpf.dmsService.support.DmsWenjianBianhaoFlowStateResolver.Action.CANCEL; import static jnpf.dmsService.support.DmsWenjianBianhaoFlowStateResolver.Action.ERROR; import static jnpf.dmsService.support.DmsWenjianBianhaoFlowStateResolver.Action.FREEZE_SNAPSHOT; import static jnpf.dmsService.support.DmsWenjianBianhaoFlowStateResolver.Action.HOLD; import static jnpf.dmsService.support.DmsWenjianBianhaoFlowStateResolver.Action.ISSUE_NUMBER; import static jnpf.dmsService.support.DmsWenjianBianhaoFlowStateResolver.Action.REJECT; import static jnpf.dmsService.support.DmsWenjianBianhaoFlowStateResolver.Action.RESTORE_DRAFT; import static jnpf.dmsService.support.DmsWenjianBianhaoFlowStateResolver.Action.REVOKE; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; class DmsWenjianBianhaoFlowStateResolverTest { @Test void mapsEverySupportedJnpfFlowState() { assertEquals(RESTORE_DRAFT, resolve(0)); assertEquals(FREEZE_SNAPSHOT, resolve(1)); assertEquals(ISSUE_NUMBER, resolve(2)); assertEquals(REJECT, resolve(3)); assertEquals(CANCEL, resolve(4)); assertEquals(HOLD, resolve(5)); assertEquals(HOLD, resolve(6)); assertEquals(REVOKE, resolve(7)); assertEquals(HOLD, resolve(8)); assertEquals(RESTORE_DRAFT, resolve(9)); assertEquals(ERROR, resolve(10)); } @Test void rejectsMissingAndUnknownStates() { assertFalse(DmsWenjianBianhaoFlowStateResolver.resolve(null).isPresent()); assertFalse(DmsWenjianBianhaoFlowStateResolver.resolve(11).isPresent()); } private DmsWenjianBianhaoFlowStateResolver.Action resolve(int state) { return DmsWenjianBianhaoFlowStateResolver.resolve(state).orElseThrow(AssertionError::new); } }