package com.iambookmaster.urq; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.util.Properties; import junit.framework.TestCase; import com.iambookmaster.client.iurq.Core; import com.iambookmaster.client.iurq.URQParser; import com.iambookmaster.client.iurq.URQUI; import com.iambookmaster.client.iurq.logic.Btn; import com.iambookmaster.client.iurq.logic.Pause; import com.iambookmaster.client.iurq.logic.Play; import com.iambookmaster.client.iurq.logic.URQImage; public class IURQTest extends TestCase { private static final String INVENTORY = "Инвентарь"; public void testAll() throws Exception { InputStream stream = getClass().getResourceAsStream("IURQTest.properties"); assertNotNull(stream); Reader reader = new InputStreamReader(stream,"UTF-8"); Properties properties = new Properties(); properties.load(reader); stream.close(); for (Object obj : properties.keySet()) { String key = (String)obj; if (key.endsWith(".code")) { //check only for .code String out = key.substring(0,key.length()-5).concat(".out"); String code = properties.getProperty(key); assertNotNull(code); String output = properties.getProperty(out); assertNotNull(output); System.out.println(); System.out.println(key); System.out.println(code); validate(code,output); } } } private void validate(String code, String output) { Core core = new Core(INVENTORY); URQUITest test = new URQUITest(); core.init(test); URQParser parser = new URQParser(); parser.startParse(code, core); core.tick(); assertEquals(output, test.builder.toString().trim()); } @Override protected void setUp() throws Exception { } public class URQUITest implements URQUI { private StringBuilder builder = new StringBuilder(); public void showImage(URQImage image) { builder.append(",img "); builder.append(image.getLocation()); } public void save(String location) { builder.append(",save "); builder.append(location); } public void resizeItems() { } public void print(String s, int i) { builder.append(",\""); builder.append(s); builder.append('"'); } public void play(Play operator) { builder.append(",play "); builder.append(operator.getLocation()); } public void pause(Pause pause) { builder.append(",pause "); builder.append(pause.getTime()); } public String loadFile(String s) { return null; } public void invRefresh() { } public String getInput() { return null; } public void end() { builder.append(",end "); } public void enableInput() { } public void doExit() { builder.append(",exit "); } public void disableInput() { } public void clear() { } public void anykey() { } public void addButton(Btn btn) { } } }