/** Comprueba la correcta generación de un documento que contenga los datos dados. */ @Test public void testDocumento() { String esperado = toString("TraductorVacio.xml"); assertEquals( "Generación incorrecta de documento Moodle XML.", esperado, traductor.documento(new ArrayList<Plantilla>())); }
/** Comprueba la correcta traducción de un problema de tipo Aho-Sethi-Ullman subtipo tablas. */ @Test public void testTraduceAhoSethiUllmanTablas() { AhoSethiUllman problema = new AhoSethiUllman("((a|b*)a*c)*"); String esperado = toString("TraductorASUTablas.xml"); String encontrado = traductor.traduceASUTablas(problema).toString(); encontrado = encontrado.replaceAll("\\{1:MULTICHOICE:[^}]*\\}", "{1:MULTICHOICE:}"); assertEquals( "Traducción Moodle XML incorrecta de problema AhoSethiUllman subtipo tablas.", esperado, encontrado); }
/** * Comprueba la correcta traducción de un problema de construcción de subconjuntos subtipo * expresión. */ @Test public void testTraduceConstruccionSubconjuntosExpresion() { ConstruccionSubconjuntos problema = new ConstruccionSubconjuntos("((a|b*)a*c)*"); String esperado = toString("TraductorCSExpresion.xml"); String encontrado = traductor.traduceCSExpresion(problema).toString(); encontrado = encontrado.replaceAll("\\{1:MULTICHOICE:.*\\}", "{1:MULTICHOICE:}"); assertEquals( "Traducción Moodle XML incorrecta de problema de construcción de subconjuntos subtipo expresión.", esperado, encontrado); }
/** Comprueba la correcta traducción de un problema de tipo Aho-Sethi-Ullman subtipo árbol. */ @Test public void testTraduceAhoSethiUllmanEtiquetado() { AhoSethiUllman problema = new AhoSethiUllman("((a|b*)a*c)*"); String esperado = toString("TraductorASUEtiquetado.xml"); String encontrado = traductor.traduceASUEtiquetado(problema).toString(); encontrado = encontrado.replaceAll( "<img src=\"@@PLUGINFILE@@/[^.]*.jpg\" alt=\"\" />", "<img src=\"@@PLUGINFILE@@/.jpg\" alt=\"\" />"); encontrado = encontrado.replaceAll("<file name=[^<]*</file>", "<file name=</file>"); encontrado = encontrado.replaceAll("\\{1:MULTICHOICE:[^}]*\\}", "{1:MULTICHOICE:}"); assertEquals( "Traducción Moodle XML incorrecta de problema AhoSethiUllman subtipo etiquetado.", esperado, encontrado); }
/** * Comprueba la correcta traducción de un problema de construcción de subconjuntos subtipo * autómata. */ @Test public void testTraduceConstruccionSubconjuntosAutomata() { ConstruccionSubconjuntos problema = new ConstruccionSubconjuntos("((a|b*)a*c)*"); String esperado = toString("TraductorCSAutomata.xml"); String encontrado = traductor.traduceCSAutomata(problema).toString(); encontrado = encontrado.replaceAll( "<img src=\"@@PLUGINFILE@@/[^.]*.jpg\" alt=\"\" />", "<img src=\"@@PLUGINFILE@@/.jpg\" alt=\"\" />"); encontrado = encontrado.replaceAll("<file name=[^<]*</file>", "<file name=</file>"); encontrado = encontrado.replaceAll("\\{1:MULTICHOICE:[^}]*\\}", "{1:MULTICHOICE:}"); assertEquals( "Traducción Moodle XML incorrecta de problema de construcción de subconjuntos subtipo autómata.", esperado, encontrado); }