package org.epics.archiverappliance.config; import static org.junit.Assert.*; import org.junit.Test; /** * Small unit test to make sure the regex that checks for valid pv names does something reasonable * @author mshankar * */ public class PVNameRegexTest { @Test public void test() { assertTrue("Checking for null pvName failed", !PVNames.isValidPVName(null)); assertTrue("Checking for empty pvName failed", !PVNames.isValidPVName("")); String pvName = ""; pvName = "archappl:arch:sine"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl:arch:sine1"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl:arch:sine1.HIHI"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl:arch:sine100"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl_arch_sine"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl-arch-sine"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl+arch+sine"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl[arch]sine"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl<arch>sine"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl:arch;sine"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); pvName = "archappl:ar/h:sine"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); // Add for FRIB pvName = "P#6:000357"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); // Add for BNL pvName = "LN-AM{RadMon:1}Lvl:Raw-I"; assertTrue("Valid pvName is deemed invalid " + pvName, PVNames.isValidPVName(pvName)); // Let's test some invalid ones pvName = "\"archappl:arch:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:arch:sine\""; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar'h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar!h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar$h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar%h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar^h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar*h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar\\h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar|h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar'h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar?h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar&h:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:ar@ch:sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:(arch):sine"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); pvName = "archappl:arch:sine=1.0"; assertTrue("Invalid pvName is deemed valid " + pvName, !PVNames.isValidPVName(pvName)); } }