package org.ggp.base.util.gdl.model;
import java.util.List;
import org.ggp.base.util.gdl.GdlUtils;
import org.ggp.base.util.gdl.factory.GdlFactory;
import org.ggp.base.util.gdl.grammar.GdlPool;
import org.ggp.base.util.gdl.grammar.GdlSentence;
import org.ggp.base.util.gdl.grammar.GdlTerm;
import org.junit.Assert;
import org.junit.Test;
public class SimpleSentenceFormTest extends Assert {
@Test
public void testFunctionNesting() throws Exception {
GdlSentence sentence = (GdlSentence) GdlFactory.create("(does player (combine foo (bar b b)))");
SimpleSentenceForm form = SimpleSentenceForm.create(sentence);
assertEquals(GdlPool.DOES, form.getName());
assertEquals(4, form.getTupleSize());
assertTrue(form.matches(sentence));
List<GdlTerm> tuple = GdlUtils.getTupleFromSentence(sentence);
assertEquals(sentence, form.getSentenceFromTuple(tuple));
}
}