package org.springblade.mdm.commons.contants; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.regex.Matcher; public class RegExpConstantsTest { @Test public void testFilePattern(){ Matcher m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1-1.txt"); Assertions.assertTrue(m.find()); //零组件带横杠也合理 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J-YDT290-10-02B-35-A-1-1.txt"); Assertions.assertTrue(m.find()); m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("O0001.TXT"); Assertions.assertFalse(m.find()); //无扩展名也需要匹配 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1-1"); Assertions.assertTrue(m.find()); //无工序号或版次段 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-A-1-1.TXT"); Assertions.assertFalse(m.find()); //无工序号和 版次段 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-1-1.TXT"); Assertions.assertFalse(m.find()); //无段数段号 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A.TXT"); Assertions.assertFalse(m.find()); //段数段号 缺一个 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1.TXT"); Assertions.assertFalse(m.find()); //缺数号 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1-.TXT"); Assertions.assertFalse(m.find()); //数号非数字 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1-e.TXT"); Assertions.assertFalse(m.find()); } @Test public void testProgramPackagePattern(){ Matcher m = RegExpConstants.PROGRAM_PACKAGE_PATTERN.matcher("J_YDT290-10-02B-35-A"); Assertions.assertTrue(m.find()); m = RegExpConstants.PROGRAM_PACKAGE_PATTERN.matcher("J-YDT290-10-02B-35-A1"); Assertions.assertTrue(m.find()); m = RegExpConstants.PROGRAM_PACKAGE_PATTERN.matcher("CP3-1-1-1"); Assertions.assertTrue(m.find()); m = RegExpConstants.PROGRAM_PACKAGE_PATTERN.matcher("CP3-1-A-B"); Assertions.assertTrue(m.find()); m = RegExpConstants.PROGRAM_PACKAGE_PATTERN.matcher("CP3X296-A-B"); Assertions.assertTrue(m.find()); m = RegExpConstants.PROGRAM_PACKAGE_PATTERN.matcher("CP3X296-A-B"); String drawingNo = null; if(m.find()) { drawingNo = m.group(1); Assertions.assertEquals("CP3X296",drawingNo ); } String processNo = null; if(m.find()) { processNo = m.group(2); Assertions.assertEquals("A",processNo ); } String processEdition = null; if(m.find()) { processEdition = m.group(3); Assertions.assertEquals("B",processEdition ); } } }