본문 바로가기

개발/Java

[Head First Java] Chapter5 SimpleDotCom(간단한 닷컴 게임) 테스트 코드

 Chpater5 에서는 닷컴 가라앉히기라는 게임을 만들게 되는에 여기에서는 바로 코드를 만드는게 아니라 준비 코드를 만들고 테스트 코드를 만든 다음에 실제 코드를 완성하라고 알려주고 있다.

 테스트 코드를 먼저 만들어놓은 것은 익스트림 프로그래밍의 여러 규칙 가운데 하나라고 한다.

 아래와 같이 테스트 코드를 코딩하였다.

SimpleDotComTestDrive 클래스
public class SimpleDotComTestDrive {
	public static void main(String[] args) {
		SimpleDotCom dot = new SimpleDotCom();
		int[] locations = {2,3,4};
		dot.setLocationCells(locations);
		String userGuess = "2";
		String result = dot.checkYourself(userGuess);
		String testResult = "failed";
		
		if(result.equals("hit")){
			testResult = "passed";
		}
		
		System.out.println(testResult);
	}

}
SimpleDotCom 클래스
public class SimpleDotCom {
	int[] locationCells;
	int numOfHits = 0;

	public void setLocationCells(int[] locs){
		locationCells = locs;
	}
	
	public String checkYourself(String stringGuess){
		int guess = Integer.parseInt(stringGuess);
		String result = "miss";
		
		for(int i = 0;i < locationCells.length; i++){
			if(guess == locationCells[i]){
				result = "hit";
				numOfHits++;
				break;
			}
		}
		
		if(numOfHits == locationCells.length){
			result = "kill";
		}
		
		System.out.println(result);
		return result;
	}
}
출력 결과
hit
passed