KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > jobs > job > RunJobTest


1 /*
2  * (c) Rob Gordon 2005
3  */

4 package org.oddjob.jobs.job;
5
6 import java.io.ByteArrayInputStream JavaDoc;
7
8 import junit.framework.TestCase;
9
10 import org.apache.commons.beanutils.PropertyUtils;
11 import org.oddjob.Oddjob;
12 import org.oddjob.state.JobState;
13
14 /**
15  *
16  */

17 public class RunJobTest extends TestCase {
18     
19     public static class R implements Runnable JavaDoc {
20         boolean ran;
21         public void run() {
22             ran = true;
23         }
24         public boolean isRan() {
25             return ran;
26         }
27     }
28     
29     public void testCode() {
30         R r = new R();
31         
32         RunJob j = new RunJob();
33         j.setJob(r);
34         j.run();
35         
36         assertEquals(JobState.COMPLETE
37                 , j.lastJobStateEvent().getJobState());
38         assertTrue(r.ran);
39     }
40     
41     public void testInOddjob() throws Exception JavaDoc {
42         String JavaDoc xml = "<oddjob><sequential><r id='r' class='" + R.class.getName()
43         + "' /><run job='${r}' /></sequential></oddjob>";
44         
45         Oddjob oj = new Oddjob();
46         oj.setInput(new ByteArrayInputStream JavaDoc(xml.getBytes()));
47         oj.run();
48         
49         Object JavaDoc r = oj.lookup("r");
50         assertEquals(new Boolean JavaDoc(true), PropertyUtils.getProperty(r, "ran"));
51     }
52 }
53
Popular Tags