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());
|
}
|
}
|