package jnpf.elnService.impl;
|
|
import org.junit.Test;
|
|
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertTrue;
|
|
public class ElnFieldCodeGeneratorTest {
|
|
@Test
|
public void generatesSixCharacterRandomSuffix() {
|
ElnFieldCodeGenerator generator = new ElnFieldCodeGenerator(() -> "A1B2C3D4");
|
|
assertEquals("gongshipin_mingcheng_a1b2c3", generator.generate("供试品名称", false));
|
}
|
|
@Test
|
public void supportsExplicitSuffixLengthForNonFieldCatalogCodes() {
|
ElnFieldCodeGenerator generator = new ElnFieldCodeGenerator(() -> "A1B2C3D4", 8);
|
|
assertEquals("jianyan_jieguo_a1b2c3d4", generator.generateSegmented("检验结果", "formula", "f"));
|
}
|
|
@Test
|
public void suggestsSegmentedLowercaseCodeWithoutRandomSuffix() {
|
assertEquals("jianyan_jieguo",
|
ElnFieldCodeGenerator.suggestSegmentedCode("检验结果"));
|
assertEquals("hplc_hanliang_jisuan",
|
ElnFieldCodeGenerator.suggestSegmentedCode("HPLC含量计算"));
|
}
|
|
@Test
|
public void limitsSuggestionAtSegmentBoundary() {
|
String suggestion = ElnFieldCodeGenerator.suggestSegmentedCode(
|
"检验结果检验结果检验结果检验结果检验结果检验结果检验结果检验结果");
|
|
assertTrue(suggestion.length() <= 80);
|
assertFalse(suggestion.endsWith("_"));
|
}
|
}
|