package com.plectix.simulator.parser.incomplete; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.Collection; import java.util.LinkedList; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import com.plectix.simulator.parser.DocumentFormatException; import com.plectix.simulator.parser.ParseErrorException; import com.plectix.simulator.parser.builders.MasterSolutionModel; import com.plectix.simulator.staticanalysis.Agent; import com.plectix.simulator.staticanalysis.LibraryOfSpecies; @RunWith(value = Parameterized.class) public class TestIncompleteSubstance { private final String agent1Str; private final String agent2Str; private final boolean result; public static LibraryOfSpecies libraryOfSpecies = new LibraryOfSpecies(); private static final byte COUNT_TESTS = 8; private static final String[] AGENT_1 = { "A1(x1)", "A2(x2)", "A3(x3,y3)", "A4(x4,y4)", "A5(x5,y5)", "A6(x6,y6)", "A7(x7)", "B8(y8)", "a(x)", "b(x)" }; private static final String[] AGENT_2 = { "A1(x1)", "A2()", "A3(x3,y3)", "A4(x4)", "A5(y5)", "A6(x6,y6,z6)", "A7(z7)", "C8(x8)", "a(x?)", "b(x!_)" }; private static final boolean[] RESULTS_AGENTS = { true, false, true, false, false, false, false, true, false, false }; @Parameters public static Collection<Object[]> configs() { List<Object[]> outList = new LinkedList<Object[]>(); for (int i = 0; i < COUNT_TESTS; i++) { String agent1 = AGENT_1[i]; String agent2 = AGENT_2[i]; boolean result = RESULTS_AGENTS[i]; outList.add(new Object[]{agent1, agent2, result}); } return outList; } public TestIncompleteSubstance(String agent1,String agent2, boolean result) { this.agent1Str = agent1; this.agent2Str = agent2; this.result = result; } @Test public void isCorrect() throws ParseErrorException, DocumentFormatException { MasterSolutionModel model = new MasterSolutionModel(); Agent agent1; agent1 = libraryOfSpecies.getAgentListByString(agent1Str).get(0); Agent agent2 = libraryOfSpecies.getAgentListByString(agent2Str).get(0); assertTrue(model.isCorrect(agent1)); assertEquals(model.isCorrect(agent2), result); } }