3. 작업 분류 2
3.6. 작업 분류별 리스트를 가져옵니다.
@Test public void workTypeList(){
Work work1 = new Work("work1");
workList.add(work1);
assertEquals(work1, workList.getToDoList().get(1));
work1.start();
assertEquals(work1, workList.getCurrentWork());
assertEquals(0, workList.getToDoList().size());
work1.pause();
assertEquals(work1, workList.getPausedWorks().get(1));
assertEquals(null, workList.getCurrentWork());
work1.end();
assertEquals(work1, workList.getEndWorks().get(1));
assertEquals(0, workList.getPausedWorks().size());
}
Work가 List에 있는 것만 확인하면 되는데 특정 위치를 가리켜서 확인하는 건 그닥 맘에 들지 않습니다. 그래서 contain()을 추가합니다.
Work work1 = new Work("work1");
workList.add(work1);
assertTrue(workList.getToDoList().contains(work1));
work1.start();
assertEquals(work1, workList.getCurrentWork());
assertEquals(0, workList.getToDoList().size());
work1.pause();
assertTrue(workList.getPausedWorks().contains(work1));
assertEquals(null, workList.getCurrentWork());
work1.end();
assertTrue(workList.getEndWorks().contains(work1));
assertEquals(0, workList.getPausedWorks().size());
}
3.7. 하나의 작업이 실행 중일 땐 다른 작업을 실행 할 수 없습니다.
이걸 조금 구현 해보니깐..Work에서 WorkList를 가지고 있어야 합니다. 그렇게 되면 굉장히 복잡해지고 커플링이 심해집니다. UI 상에서 이런 시도를 막을 수 있을 것 같습니다. UI를 구현하는 코드가 복잡해지겠지만.. 일단 한번 해본 뒤에 생각해 봐야겠습니다.