More actions
imported>novaman No edit summary |
imported>novaman No edit summary |
||
| Line 1: | Line 1: | ||
== | == Elevator.java == | ||
public class Elevator { | public class Elevator { | ||
| Line 45: | Line 45: | ||
public void out() { | public void out() { | ||
inElevator = false; | inElevator = false; | ||
} | |||
} | |||
== App.java (Test) == | |||
import static org.junit.Assert.*; | |||
import org.junit.Test; | |||
public class App { | |||
@Test | |||
public void testElevator() { | |||
Elevator elevator = new Elevator(65, -10); // default 현재층 : 1 | |||
// 객체 생성 여부 | |||
assertNotNull(elevator); | |||
assertEquals(1, elevator.floor()); | |||
// 엘레베이터에 안탔으므로 이동이 안됨 | |||
elevator.goTo(30); | |||
assertEquals(1, elevator.floor()); | |||
// 버튼을 누르지 않으면 탈 수 없음. | |||
elevator.in(); | |||
elevator.goTo(20); | |||
assertEquals(1, elevator.floor()); | |||
// 버튼 눌러서 타서 이동한 케이스 | |||
elevator.press(); | |||
elevator.in(); | |||
elevator.goTo(30); | |||
assertEquals(30, elevator.floor()); | |||
// 내려서 이동 안되는 케이스 | |||
elevator.out(); | |||
elevator.goTo(20); | |||
assertEquals(30, elevator.floor()); | |||
// 안에서 엘레베이터를 타지만 최저층을 초과하는 경우 | |||
elevator.press(); | |||
elevator.in(); | |||
elevator.goTo(-11); | |||
assertEquals(-10, elevator.floor()); | |||
// 안에서 엘레베이터를 타지만 최고층을 초과하는 경우 | |||
elevator.press(); | |||
elevator.in(); | |||
elevator.goTo(66); | |||
assertEquals(65, elevator.floor()); | |||
} | } | ||
} | } | ||
Revision as of 18:50, 1 July 2011
Elevator.java
public class Elevator {
private int max;
private int min;
private int floor;
private boolean inElevator;
private boolean button;
public Elevator(int i, int j) {
max = i;
min = j;
floor = 1;
inElevator = false;
button = false;
}
public int floor() {
return floor;
}
public void goTo(int i) {
if(i <= max && i >= min && inElevator ){
floor = i;
} else if (i < min){
floor = min;
} else if (i > max){
floor = max;
}
}
public void press() {
button = true;
}
public void in() {
if(button) {
inElevator = true;
button = false;
}
}
public void out() {
inElevator = false;
}
}
App.java (Test)
import static org.junit.Assert.*;
import org.junit.Test;
public class App {
@Test
public void testElevator() {
Elevator elevator = new Elevator(65, -10); // default 현재층 : 1
// 객체 생성 여부
assertNotNull(elevator);
assertEquals(1, elevator.floor());
// 엘레베이터에 안탔으므로 이동이 안됨
elevator.goTo(30);
assertEquals(1, elevator.floor());
// 버튼을 누르지 않으면 탈 수 없음.
elevator.in();
elevator.goTo(20);
assertEquals(1, elevator.floor());
// 버튼 눌러서 타서 이동한 케이스
elevator.press();
elevator.in();
elevator.goTo(30);
assertEquals(30, elevator.floor());
// 내려서 이동 안되는 케이스
elevator.out();
elevator.goTo(20);
assertEquals(30, elevator.floor());
// 안에서 엘레베이터를 타지만 최저층을 초과하는 경우
elevator.press();
elevator.in();
elevator.goTo(-11);
assertEquals(-10, elevator.floor());
// 안에서 엘레베이터를 타지만 최고층을 초과하는 경우
elevator.press();
elevator.in();
elevator.goTo(66);
assertEquals(65, elevator.floor());
}
}