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