private fun getToDoList(user: String, listName: String): ToDoList {
// 테스트에서 액터로 옮겨졌다.
}
}
private fun createList(listName: String, items: List<String>) =
ToDoList(ListName(listName), items.map(::ToDoItem))
➊ 액터의 이름을 포함하는 액터용 제네릭 인터페이스를 정의한다.
➋ ToDoListOwner 액터의 첫 번째 메서드는 이름과 항목이 있는 목록이 있는지 확인하는 것이다. 이렇게 하면 테스트에서 단언문을 대체할 수 있다.
➌ 메서드 파라미터에서 작은 유틸리티 함수를 사용해 예상 목록을 생성한다.
➍ 이전 테스트에 있던 getToDoList 메서드를 호출해 애플리케이션에서 목록을 가져온다.
➎ 마지막으로 예상 목록과 애플리케이션에서 가져온 목록을 비교한다.
액터를 사용해 테스트를 다시 작성하면 이미 어떤 일이 벌어지고 있는지 결과가 조금 더 명확해진다.