blob: 6abf75c1c85cfb72a1224ccfde3c28606809654a [file] [log] [blame]
// This class should be kept in sync with org.plumelib.util.RegexUtilTest in the plume-util project.
package org.checkerframework.checker.regex.util;
import org.junit.Assert;
import org.junit.Test;
public final class RegexUtilTest {
@Test
public void test_isRegex_and_asRegex() {
String s1 = "colo(u?)r";
String s2 = "(brown|beige)";
String s3 = "colou?r";
String s4 = "1) first point";
Assert.assertTrue(RegexUtil.isRegex(s1));
RegexUtil.asRegex(s1);
Assert.assertTrue(RegexUtil.isRegex(s1, 0));
RegexUtil.asRegex(s1, 0);
Assert.assertTrue(RegexUtil.isRegex(s1, 1));
RegexUtil.asRegex(s1, 1);
Assert.assertFalse(RegexUtil.isRegex(s1, 2));
Assert.assertThrows(Error.class, () -> RegexUtil.asRegex(s1, 2));
Assert.assertTrue(RegexUtil.isRegex(s2));
RegexUtil.asRegex(s2);
Assert.assertTrue(RegexUtil.isRegex(s2, 0));
RegexUtil.asRegex(s2, 0);
Assert.assertTrue(RegexUtil.isRegex(s2, 1));
RegexUtil.asRegex(s2, 1);
Assert.assertFalse(RegexUtil.isRegex(s2, 2));
Assert.assertThrows(Error.class, () -> RegexUtil.asRegex(s2, 2));
Assert.assertTrue(RegexUtil.isRegex(s3));
RegexUtil.asRegex(s3);
Assert.assertTrue(RegexUtil.isRegex(s3, 0));
RegexUtil.asRegex(s3, 0);
Assert.assertFalse(RegexUtil.isRegex(s3, 1));
Assert.assertThrows(Error.class, () -> RegexUtil.asRegex(s3, 1));
Assert.assertFalse(RegexUtil.isRegex(s3, 2));
Assert.assertThrows(Error.class, () -> RegexUtil.asRegex(s3, 2));
Assert.assertFalse(RegexUtil.isRegex(s4));
Assert.assertThrows(Error.class, () -> RegexUtil.asRegex(s4));
Assert.assertFalse(RegexUtil.isRegex(s4, 0));
Assert.assertThrows(Error.class, () -> RegexUtil.asRegex(s4, 0));
Assert.assertFalse(RegexUtil.isRegex(s4, 1));
Assert.assertThrows(Error.class, () -> RegexUtil.asRegex(s4, 1));
Assert.assertFalse(RegexUtil.isRegex(s4, 2));
Assert.assertThrows(Error.class, () -> RegexUtil.asRegex(s4, 2));
}
}