package org.erlide.engine.model.builder; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; import java.util.List; import org.junit.Test; public class ErlProblemsTest { @Test public void loads() { final ErlProblems p = ErlProblems.getInstance(); p.check(); } @Test public void messageArgs1() { final ProblemData data = ErlProblems.parse("circular macro 'alfa-beta'"); assertThat(data, is(not(nullValue()))); final List<String> args = data.getMessageArgs("circular macro 'alfa-beta'"); assertThat(args, contains("alfa-beta")); } @Test public void messageArgs2() { final ProblemData data = ErlProblems.parse("circular macro 'alfa/beta'"); assertThat(data, is(not(nullValue()))); final List<String> args = data.getMessageArgs("circular macro 'alfa/beta'"); assertThat(args, contains("alfa", "beta")); } @Test public void properlyOrderedTags() { for (final ProblemData data : ErlProblems.getInstance().getData()) { final ProblemData data2 = ErlProblems.parse(data.getMessage()); assertThat(data2.getTag(), is(data.getTag())); assertThat(data2.getMessage(), is(data.getMessage())); assertThat(data2.getArity(), is(data.getArity())); } } @Test public void arity() { final int n = ErlProblems.arity("~ ~ \\~ ~"); assertThat(n, is(3)); } @Test public void keepTildes() { final ProblemData data = new ProblemData("t", "~ \\~ ~", 2); assertThat(data.getPattern().toString(), is("(.+?) ~ (.+?)")); } }