KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > taskman > TaskManagerTest


1 package org.sapia.taskman;
2
3 import junit.framework.TestCase;
4
5 import java.io.*;
6
7 /**
8  * @author Yanick Duchesne 5-May-2003
9  */

10 public class TaskManagerTest extends TestCase {
11   /**
12    * Constructor for TaskManagerTest.
13    *
14    * @param arg0
15    */

16   public TaskManagerTest(String JavaDoc arg0) {
17     super(arg0);
18   }
19
20   public void testShutdown() throws Exception JavaDoc {
21     TaskManager mgr = new TaskManager();
22
23     // mgr.execTaskFor(new TransientTaskDescriptor("task1", new
24
// SleepingTask()));
25
mgr.execTaskFor(new PeriodicTaskDescriptor("task2", 10000,
26         new SleepingTask()));
27     mgr.start();
28     Thread.sleep(1000);
29     mgr.shutdown();
30   }
31
32   public void testShutdownEmpty() throws Exception JavaDoc {
33     TaskManager mgr = new TaskManager();
34     mgr.start();
35     Thread.sleep(1000);
36     mgr.shutdown();
37   }
38
39   public void testSerialize() throws Exception JavaDoc {
40     TaskManager mgr = new TaskManager();
41     ByteArrayOutputStream bos;
42     ObjectOutputStream oos = new ObjectOutputStream(
43         bos = new ByteArrayOutputStream());
44     oos.writeObject(mgr);
45
46     ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bos
47         .toByteArray()));
48     mgr = (TaskManager) ois.readObject();
49   }
50
51   public static class SleepingTask implements Task {
52     /**
53      * @see org.sapia.taskman.Task#exec(TaskContext)
54      */

55     public void exec(TaskContext ctx) {
56       try {
57         // System.out.println("sleeping...");
58
Thread.sleep(3000);
59
60         // System.out.println("finished sleeping...");
61
} catch(InterruptedException JavaDoc e) {
62         e.printStackTrace();
63       }
64     }
65   }
66 }
67
Popular Tags