지금 테스트 코드를 보강했다.




search_by_date는 날짜별 일정 검색 - 특정 날짜의 일정을 모두 반환해줌.

search_by_month는 월별 일정 검색 - 특정 월의 일정을 모두 반환해줌.


지금 테스트 데이터가 이렇게 되어 있는데...


        model.addSchedule(TestUtil.newSchedule("2014-10-04T10:00", 50, "AAA"));
        model.addSchedule(TestUtil.newSchedule("2014-10-14T10:00", 50, "bbb"));
        model.addSchedule(TestUtil.newSchedule("2014-10-14T18:00", 50, "ccc"));
        model.addSchedule(TestUtil.newSchedule("2014-08-14T11:00", 50, "ddd"));



10월달 일정이 3개니까 위에서 2014-10 으로 검색하면 3개가 잡혀야 함.


아래는 월별 검색의 구현.


findByDate 메소드와 구현이 거~~~~~~~의 동일하다.


날짜 비교 부분(위에 파란줄)만 살짝 다르다.


그래서!! 일단 이 대목에서 뭔가 저 중복되는 부분들을 묶을 수 있는 뭔가가 필요하지 않나... 라고 문제의식을 가져야 한다.


물론 내 머릿속에서는 어떻게 검색 부분을 추상화 하면 되는지 빠삭~~ 하지만... 자만은 금물이다..


일단 필요할 것 같은 몇 개의 구현을 테스트 해보면서 설계의 근거가 마련되어야 함.


지금 검색 기능이 주로 "날짜"에 관련된 것들인데 이것 말고 다른 검색 기능이 필요할 수도 있을까?


별로 떠오르지 않는다(이런건 업무 전문가한테 물어봐야 함. 니들 어떤걸로 주로 검색하냐? 라고....)


일단 '혼자 쓰는 애플리케이션'이라는 전제 하에 프로토타입을 치고 나가니까, 다른 사람의 일정을 불러오는 것은 고려하지 않는다.

(뭐 필요하면 이것도 집어넣을 수는 있음.)


테스트는 잘 통과함.