package org.erlide.engine.model.erlang;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Collection;
import java.util.List;
import org.junit.Test;
public class IErlFunctionTest extends ErlModelTestBase2 {
// boolean isExported();
@Test
public void isExported() throws Exception {
assertTrue(functionA.isExported());
assertTrue(functionB.isExported());
assertFalse(functionC.isExported());
}
// List<IErlFunctionClause> getClauses();
@Test
public void getClauses() throws Exception {
final List<IErlFunctionClause> clauses = functionA.getClauses();
final List<IErlFunctionClause> clauses2 = functionB.getClauses();
assertEquals(2, clauses.size());
assertEquals(0, clauses2.size());
}
// ErlangFunction getFunction();
@Test
public void getFunction() throws Exception {
final ErlangFunction function = functionA.getFunction();
final ErlangFunction function2 = functionB.getFunction();
final ErlangFunction function3 = functionC.getFunction();
assertEquals(new ErlangFunction("a", 1), function);
assertEquals(new ErlangFunction("b", 0), function2);
assertEquals(new ErlangFunction("c", 3), function3);
}
// String getNameWithArity();
@Test
public void getNameWithArity() throws Exception {
final String nameWithArity = functionA.getNameWithArity();
final String nameWithArity2 = functionB.getNameWithArity();
final String nameWithArity3 = functionC.getNameWithArity();
assertEquals("a/1", nameWithArity);
assertEquals("b/0", nameWithArity2);
assertEquals("c/3", nameWithArity3);
}
// String getNameWithParameters();
@Test
public void getNameWithParameters() throws Exception {
final String nameWithParameters = functionA.getNameWithParameters();
final String nameWithParameters2 = functionB.getNameWithParameters();
final String nameWithParameters3 = functionC.getNameWithParameters();
assertEquals("a(_)", nameWithParameters);
assertEquals("b()", nameWithParameters2);
assertEquals("c(_, _, _)", nameWithParameters3);
}
// String getComment();
@Test
public void getComments() throws Exception {
final Collection<IErlComment> comments = functionA.getComments();
final Collection<IErlComment> comments2 = functionB.getComments();
final Collection<IErlComment> comments3 = functionC.getComments();
assertTrue(comments.isEmpty());
assertTrue(comments2.isEmpty());
assertFalse(comments3.isEmpty());
assertEquals(ErlModelTestBase2.MAKE_A_TUPLE,
comments3.iterator().next().getSource());
}
// String getModuleName();
@Test
public void getModuleName() throws Exception {
final String moduleName = functionA.getModuleName();
final String moduleName2 = functionB.getModuleName();
final String moduleName3 = functionC.getModuleName();
final String name = module2.getName();
assertEquals(name, moduleName);
assertEquals(name, moduleName2);
assertEquals(name, moduleName3);
}
}