1 package jimm.datavision.test; 2 import jimm.datavision.*; 3 import jimm.datavision.source.Column; 4 import jimm.datavision.test.mock.source.MockDataSource; 5 import java.io.File ; 6 import junit.framework.TestCase; 7 import junit.framework.TestSuite; 8 import junit.framework.Test; 9 10 15 public class ScriptingTest extends TestCase { 16 17 protected static final File EXAMPLE_REPORT = 18 new File (AllTests.testDataFile("test.xml")); 19 protected static final String VALUE_REPORT = 20 AllTests.testDataFile("value.xml"); 21 22 protected Report report; 23 24 public static Test suite() { 25 return new TestSuite(ScriptingTest.class); 26 } 27 28 public ScriptingTest(String name) { 29 super(name); 30 } 31 32 public void setUp() { 33 report = new Report(); 34 report.setDataSource(new MockDataSource(report)); 35 } 36 37 public void testReportObject() { 38 report.setTitle("foo"); 39 Formula f = new Formula(new Long (0), report, "test report access"); 40 f.setEditableExpression("$report.getTitle()"); 41 assertEquals("foo", f.eval(null)); 42 43 f.setEditableExpression("$report.title"); 44 assertEquals("foo", f.eval(null)); 45 } 46 47 public void testColumnAccess() throws Exception { 48 report.read(EXAMPLE_REPORT); 49 50 Formula f = report.findFormula("1"); 51 f.setEditableExpression("$report.findColumn('jobs.hourly rate')"); 52 53 Object result = f.eval(null); 54 assertNotNull(result); 55 assertEquals("jimm.datavision.source.Column", result.getClass().getName()); 56 assertTrue(result instanceof Column); 57 assertEquals("jobs.hourly rate", ((Column)result).getId().toString()); 58 } 59 60 public static void main(String [] args) { 61 junit.textui.TestRunner.run(suite()); 62 System.exit(0); 63 } 64 65 } 66 | Popular Tags |