View Javadoc

1   package com.atlassian.core.task;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import junit.framework.TestCase;
7   
8   /**
9    * Created by IntelliJ IDEA.
10   * User: ROSS
11   * Date: 25/03/2004
12   * Time: 16:26:41
13   * To change this template use File | Settings | File Templates.
14   */
15  public class MultiQueueTaskManagerTestCase extends TestCase
16  {
17      public void testTaskManager()
18      {
19          final boolean[] task1executed = new boolean[1];
20          final boolean[] task2executed = new boolean[1];
21          final boolean[] task3executed = new boolean[1];
22  
23          TaskQueue queue1 = new DefaultTaskQueue();
24          TaskQueue queue2 = new DefaultTaskQueue();
25          Map<String, TaskQueue> queues = new HashMap<String, TaskQueue>();
26          queues.put("queue1", queue1);
27          queues.put("queue2", queue2);
28  
29          DefaultMultiQueueTaskManager manager = new DefaultMultiQueueTaskManager(queues);
30          Task task1 = new Task(){
31              public void execute() throws Exception { task1executed[0] = true; }
32          };
33  
34          Task task2 = new Task(){
35              public void execute() throws Exception { task2executed[0] = true; }
36          };
37  
38          Task task3 = new Task(){
39              public void execute() throws Exception { task3executed[0] = true; }
40          };
41  
42          manager.addTask("queue1", task1);
43          manager.addTask("queue1", task2);
44          manager.addTask("queue2", task3);
45  
46          assertNotNull(manager.getTaskQueue("queue1"));
47          assertNotNull(manager.getTaskQueue("queue2"));
48          assertEquals(2, manager.getTaskQueue("queue1").size());
49          assertEquals(1, manager.getTaskQueue("queue2").size());
50          manager.flush();
51  
52          assertTrue(task1executed[0]);
53          assertTrue(task2executed[0]);
54          assertTrue(task3executed[0]);
55  
56      }
57  }