@Test public void testRetrievingTasksWithMultipleTags() throws Exception { Task<?> t = new BasicTask<Void>(newNoop()); em.submit(MutableMap.of("tags", ImmutableList.of("A", "B")), t); t.get(); assertEquals(em.getTasksWithTag("A"), ImmutableList.of(t)); assertEquals(em.getTasksWithTag("B"), ImmutableList.of(t)); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("A")), ImmutableList.of(t)); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("B")), ImmutableList.of(t)); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("A", "B")), ImmutableList.of(t)); assertEquals(em.getTasksWithAllTags(ImmutableList.of("A", "B")), ImmutableList.of(t)); assertEquals(em.getTasksWithAllTags(ImmutableList.of("A")), ImmutableList.of(t)); assertEquals(em.getTasksWithAllTags(ImmutableList.of("B")), ImmutableList.of(t)); }
@Test public void testRetrievingTasksWithTagsReturnsExpectedTask() throws Exception { Task<?> t = new BasicTask<Void>(newNoop()); em.submit(MutableMap.of("tag", "A"), t); t.get(); assertEquals(em.getTasksWithTag("A"), ImmutableList.of(t)); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("A")), ImmutableList.of(t)); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("A", "B")), ImmutableList.of(t)); assertEquals(em.getTasksWithAllTags(ImmutableList.of("A")), ImmutableList.of(t)); }
@Test public void testRetrievingTasksWithTagsExcludesNonMatchingTasks() throws Exception { Task<?> t = new BasicTask<Void>(newNoop()); em.submit(MutableMap.of("tag", "A"), t); t.get(); assertEquals(em.getTasksWithTag("B"), ImmutableSet.of()); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("B")), ImmutableSet.of()); assertEquals(em.getTasksWithAllTags(ImmutableList.of("A", "B")), ImmutableSet.of()); }
@Test public void runMultipleBasicTasksMultipleTags() throws Exception { data.put(1, 1); Collection<Task<Integer>> tasks = Lists.newArrayList(); tasks.add(em.submit(MutableMap.of("tag", "A"), new BasicTask<Integer>(newIncrementCallable(1)))); tasks.add(em.submit(MutableMap.of("tags", ImmutableList.of("A","B")), new BasicTask<Integer>(newIncrementCallable(1)))); tasks.add(em.submit(MutableMap.of("tags", ImmutableList.of("B","C")), new BasicTask<Integer>(newIncrementCallable(1)))); tasks.add(em.submit(MutableMap.of("tags", ImmutableList.of("D")), new BasicTask<Integer>(newIncrementCallable(1)))); int total = 0; for (Task<Integer> t : tasks) { log.debug("BasicTask {}, has {}", t, t.get()); total += t.get(); } assertEquals(10, total); //now that all have completed: assertEquals(data.get(1), 5); assertEquals(em.getTasksWithTag("A").size(), 2); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("A")).size(), 2); assertEquals(em.getTasksWithAllTags(ImmutableList.of("A")).size(), 2); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("A", "B")).size(), 3); assertEquals(em.getTasksWithAllTags(ImmutableList.of("A", "B")).size(), 1); assertEquals(em.getTasksWithAllTags(ImmutableList.of("B", "C")).size(), 1); assertEquals(em.getTasksWithAnyTag(ImmutableList.of("A", "D")).size(), 3); }