JAVA/TDD

TDD 예제 1

Ssemi-Column 2022. 4. 21. 15:01
728x90

디자인 : cm의 단위를 입력 했을때, 원하는 길이의 단위로 변경하는 기능을 가진 기능 구현


 

기본적인 JAVA 프로젝트 생성 


RED : 실패하는 Test코드 작성


GREEN : TEST코드에 맞는 실제 코드 작성

해야 할 일:

1. Centimeter Class와 Inch Class 생성.

2. Centimeter Class에 toInch 메소드 생성.

Centimeter Class
Inch Class

테스트 결과 


Refactor : cm와 inch를 계산하는 TO_INCH, TO_CENTIMETER 값이 중복되고, 다른 단위까지 추가하였을 때에도 중복되는 값이 있기 때문에 변환하는 클래스를 가지는 TransferClass를 만들어 변환 값을 관리한다.

cm과 inch 로 변경하기 위한 단위 값을 가진 TransferLength Class 생성
Inch Class
Centimeter Class


새로운 디자인 : cm 뿐만 아니라 다른 단위의 값이 들어와도 단위 변경이 가능하도록 수정


RED : 다른 단위로도 변경 가능한 기능을 위한 테스트 코드 작성

어느 값이든 우선 cm로 변경 후 다른 단위로 변경하도록 작성

 


GREEN : TEST코드에 맞는 실제 코드 작성

해야 할 일:

1. TransferLength Class에 단위 변경값 추가

2. Meter , Yard, Mile Class 생성

3. 각 Class에 Centimeter로 변경하는 메소드를 작성

4. Centimeter에서 각 단위로 변경하는 메소드를 작성

TransferLength Class
Mile Class
Yard Class
Inch Class
Meter Class
Centimeeter Class

코드 실행:

Test 결과

728x90
반응형
LIST