@Test public void testWithoutPermissionAt50Percent() { count = 0; AggregateTimeTrackingCalculator calculator = new IssueImplAggregateTimeTrackingCalculator( new IssueImplAggregateTimeTrackingCalculator.PermissionChecker() { public boolean hasPermission(Issue subTask) { count++; if (count % 2 == 0) { return false; } return true; } }); List subTasks = new ArrayList(); for (int i = 0; i < 10; i++) { subTasks.add(getIssue(ZERO_ESTIMATE, ONE_ESTIMATE, BIG_ESTIMATE, true)); } AggregateTimeTrackingBean bean = calculator.getAggregates(getIssue(ZERO_ESTIMATE, ONE_ESTIMATE, BIG_ESTIMATE, subTasks)); assertNotNull(bean); assertEquals(new Long(ZERO_ESTIMATE.longValue() * 6), bean.getRemainingEstimate()); assertEquals(new Long(ONE_ESTIMATE.longValue() * 6), bean.getOriginalEstimate()); assertEquals(new Long(BIG_ESTIMATE.longValue() * 6), bean.getTimeSpent()); assertEquals(5, bean.getSubTaskCount()); }
@Test public void testIssueIsSubTaskWithNullValues() { AggregateTimeTrackingCalculator calculator = new IssueImplAggregateTimeTrackingCalculator(null, null); AggregateTimeTrackingBean bean = calculator.getAggregates(getIssue(null, null, null, true)); assertNotNull(bean); assertNull(bean.getRemainingEstimate()); assertNull(bean.getOriginalEstimate()); assertNull(bean.getTimeSpent()); }
@Test public void testNoSubTasksNullParentValues() { AggregateTimeTrackingCalculator calculator = new IssueImplAggregateTimeTrackingCalculator(null, null); AggregateTimeTrackingBean bean = calculator.getAggregates(getIssue(null, null, null, Collections.EMPTY_LIST)); assertNotNull(bean); assertEquals(null, bean.getRemainingEstimate()); assertEquals(null, bean.getOriginalEstimate()); assertEquals(null, bean.getTimeSpent()); }
@Test public void testNullSubTasksCollectionNonNullParentValues() { AggregateTimeTrackingCalculator calculator = new IssueImplAggregateTimeTrackingCalculator(null, null); AggregateTimeTrackingBean bean = calculator.getAggregates(getIssue(ZERO_ESTIMATE, ONE_ESTIMATE, BIG_ESTIMATE, null)); assertNotNull(bean); assertEquals(ZERO_ESTIMATE, bean.getRemainingEstimate()); assertEquals(ONE_ESTIMATE, bean.getOriginalEstimate()); assertEquals(BIG_ESTIMATE, bean.getTimeSpent()); }
@Test public void testNullIssue() { // does this even make sense AggregateTimeTrackingCalculator calculator = new IssueImplAggregateTimeTrackingCalculator(null, null); try { calculator.getAggregates(null); fail("Should have thrown a IllegalArgumentException"); } catch (IllegalArgumentException iae) { } }
@Test public void testNullSubTasksNonNullParentValues() { AggregateTimeTrackingCalculator calculator = new IssueImplAggregateTimeTrackingCalculator( new IssueImplAggregateTimeTrackingCalculator.PermissionChecker() { public boolean hasPermission(Issue subTask) { return true; } }); AggregateTimeTrackingBean bean = calculator.getAggregates( getIssue( ZERO_ESTIMATE, ONE_ESTIMATE, BIG_ESTIMATE, EasyList.build( getIssue(null, null, null, true), getIssue(null, null, null, true), getIssue(null, null, null, true)))); assertNotNull(bean); assertEquals(ZERO_ESTIMATE, bean.getRemainingEstimate()); assertEquals(ONE_ESTIMATE, bean.getOriginalEstimate()); assertEquals(BIG_ESTIMATE, bean.getTimeSpent()); }