自动化立体仓库 - WMS系统
zwl
22 小时以前 a1b99c6eb0e36c36f7696eff9bc23ecf57206661
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
43
44
45
46
47
48
49
50
51
52
package com.zy.asrs.task.support;
 
import org.junit.jupiter.api.Test;
 
import java.util.Arrays;
import java.util.Collections;
 
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
 
class AutoFrontLocMoveConfigResolverTest {
 
    private final AutoFrontLocMoveConfigResolver resolver = new AutoFrontLocMoveConfigResolver();
 
    @Test
    void parseRowsShouldKeepConfiguredOrderAndDeduplicate() {
        assertEquals(Arrays.asList(20, 19, 18, 15, 14, 13, 8),
                resolver.parseRows("20-18,15-13,8,18"));
    }
 
    @Test
    void normalizeShouldApplyDefaultsAndDropInvalidRules() {
        AutoFrontLocMoveSettings settings = new AutoFrontLocMoveSettings();
        settings.setEnabled(true);
        settings.setIntervalSeconds(0);
        settings.setUserId(0L);
 
        AutoFrontLocMoveSettings.Rule invalidRule = new AutoFrontLocMoveSettings.Rule();
        invalidRule.setCrnNo(1);
 
        AutoFrontLocMoveSettings.Rule validRule = new AutoFrontLocMoveSettings.Rule();
        validRule.setCrnNo(2);
        validRule.setFrontRows("1-3");
        validRule.setSourceRows("6-4");
 
        settings.setRules(Arrays.asList(invalidRule, validRule));
 
        resolver.normalize(settings);
 
        assertEquals(Integer.valueOf(60), settings.getIntervalSeconds());
        assertEquals(Long.valueOf(9527L), settings.getUserId());
        assertEquals(1, settings.getRules().size());
        assertEquals(Arrays.asList(1, 2, 3), settings.getRules().get(0).getFrontRowList());
        assertEquals(Arrays.asList(6, 5, 4), settings.getRules().get(0).getSourceRowList());
 
        AutoFrontLocMoveSettings onlyInvalid = new AutoFrontLocMoveSettings();
        onlyInvalid.setEnabled(true);
        onlyInvalid.setRules(Collections.singletonList(invalidRule));
        resolver.normalize(onlyInvalid);
        assertFalse(onlyInvalid.isEnabled());
    }
}