KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > scheduling > UnscheduleJobTest


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

4 package org.oddjob.scheduling;
5
6 import java.io.ByteArrayInputStream JavaDoc;
7
8 import junit.framework.TestCase;
9
10 import org.oddjob.Oddjob;
11
12 public class UnscheduleJobTest extends TestCase {
13
14     public static class MockScheduler implements OddjobScheduler {
15         String JavaDoc id;
16         public boolean canSchedule(Object JavaDoc component) {
17             return false;
18         }
19         public void schedule(ScheduleInstruction scheduleInstruction) {
20         }
21         public ScheduleSummary[] summariesFor(Object JavaDoc object) {
22             return null;
23         }
24         public void unSchedule(String JavaDoc id) {
25             this.id = id;
26         }
27     }
28     
29     public void testSimple() {
30         MockScheduler scheduler = new MockScheduler();
31         
32         UnscheduleJob job = new UnscheduleJob();
33         job.setScheduler(scheduler);
34         job.setScheduleId("test");
35         
36         job.run();
37         
38         assertEquals("test", scheduler.id);
39     }
40
41     public void testInOddjob() {
42         String JavaDoc xml="<oddjob><sequential>" +
43                 "<mock class='" + MockScheduler.class.getName() + "' id='sched'/>" +
44                 "<unschedule scheduler='${sched}' scheduleId='test'/>" +
45                 "</sequential></oddjob>";
46         
47         Oddjob oj = new Oddjob();
48         oj.setInput(new ByteArrayInputStream JavaDoc(xml.getBytes()));
49         oj.run();
50         
51         MockScheduler scheduler = (MockScheduler) oj.lookup("sched");
52         
53         assertEquals("test", scheduler.id);
54     }
55 }
56
Popular Tags