刘光辉
15 小时以前 34981c30a78e8bbd7791131059a9210f9928b62c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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);
    }
}