package tests; /*Generated by MPS */ import junit.framework.TestCase; import junit.framework.Assert; import java.util.List; import jetbrains.mps.baseLanguage.regexp.runtime.RegexpOperations; import java.util.regex.Pattern; import java.util.regex.Matcher; public class Match_Test extends TestCase { public void test_find() throws Exception { Assert.assertTrue(REGEXP_vwem4m_a0a0a0a.matcher("acccasdawe").find()); Assert.assertFalse(REGEXP_vwem4m_a0a0b0a.matcher("accasdawe").find()); } public void test_match() throws Exception { Assert.assertTrue(REGEXP_vwem4m_a0a0a0b.matcher("ww").matches()); Assert.assertFalse(REGEXP_vwem4m_a0a0b0b.matcher("www").matches()); } public void test_split() throws Exception { List<String> list = RegexpOperations.split("abc, def, xxyyy", REGEXP_vwem4m_b0a0a2); Assert.assertEquals(list.size(), 3); Assert.assertEquals("abc", list.get(0)); Assert.assertEquals("def", list.get(1)); Assert.assertEquals("xxyyy", list.get(2)); } public void test_refFromRegexps() throws Exception { boolean executed = false; { Pattern _pattern_0 = REGEXP_vwem4m_a0a0b0d; Matcher _matcher_0 = _pattern_0.matcher("asdasd [ww]"); if (_matcher_0.find()) { Assert.assertEquals("ww", _matcher_0.group(2)); Assert.assertEquals(" ", _matcher_0.group(1)); executed = true; } } Assert.assertTrue(executed); } public void test_matchInIf() throws Exception { this.check("! xyz"); this.check("xxxaaadyyy"); } public void test_innerRegexps() throws Exception { Matcher _matcher_vwem4m_a0a5; if ((_matcher_vwem4m_a0a5 = REGEXP_vwem4m_a0a0a1a5.matcher("_123[3]inner")).find()) { Assert.assertEquals("inner", _matcher_vwem4m_a0a5.group(3)); Assert.assertEquals("3", _matcher_vwem4m_a0a5.group(2)); Assert.assertEquals("_123", _matcher_vwem4m_a0a5.group(1)); } } public Match_Test() { } public void check(String searchin) { Matcher _matcher_vwem4m_a0a7; Matcher _matcher_vwem4m_a0a0h; if ((_matcher_vwem4m_a0a7 = REGEXP_vwem4m_a0a0a2a7.matcher(searchin)).find()) { Assert.assertEquals("xyz", _matcher_vwem4m_a0a7.group(1)); } else if ((_matcher_vwem4m_a0a0h = REGEXP_vwem4m_a0a0a0c0h.matcher(searchin)).find()) { Assert.assertEquals("aaad", _matcher_vwem4m_a0a0h.group(1)); } else { Assert.fail("no match"); } } private static Pattern REGEXP_vwem4m_a0a0a0a = Pattern.compile("c{3,}", 0); private static Pattern REGEXP_vwem4m_a0a0b0a = Pattern.compile("c{3,}", 0); private static Pattern REGEXP_vwem4m_a0a0a0b = Pattern.compile("\\w\\w", 0); private static Pattern REGEXP_vwem4m_a0a0b0b = Pattern.compile("(\\w\\w)\\1", 0); private static Pattern REGEXP_vwem4m_b0a0a2 = Pattern.compile(",\\s*", 0); private static Pattern REGEXP_vwem4m_a0a0b0d = Pattern.compile("(\\s*)(?:\\[(\\w+)\\])", 0); private static Pattern REGEXP_vwem4m_a0a0a1a5 = Pattern.compile("(?:(?:(?:([a-zA-Z_][a-zA-Z_0-9]+))\\[(\\d+)\\])(\\w+))", 0); private static Pattern REGEXP_vwem4m_a0a0a2a7 = Pattern.compile("!\\s*(\\w+)", 0); private static Pattern REGEXP_vwem4m_a0a0a0c0h = Pattern.compile("([a-f]+)", 0); }