== Elevator.java == {{{ public class Elevator { public int floor; public int min; public int max; private boolean ta; private boolean drill; public Elevator(int i, int j) { max = 0; min = i; floor = j; ta = false; drill = false; } public void move(int i) { if(ta){ floor = -Math.abs(i); } } public void ta() { ta = true; } public void naga() { ta = false; } public void up(int i) { if(floor + i > max) move(max); else move(floor + i); } public void down(int i) { if(floor - i < min) move(min); else move(floor - i); } public void drill() { if(floor == min){ min--; } // TODO Auto-generated method stub // 현재 층이 최저층이어야만 실행할 수 있다. // 최저 층에서 맨 밑에층으로 더 down실행시 해당 층만큼 최저층이 늘어나고 // 현재 층이 그 층으로 바뀐다. } } }}} == mainTest.java == {{{ import static org.junit.Assert.*; import org.junit.Test; public class mainTest { @Test public void test() { Elevator elevator = new Elevator (-20, -1); //현재 층 출력 -1 assertEquals(-1, elevator.floor); // move실행해도 현재 탄 사람이 없으면 층 이동 없음 elevator.move(17); assertEquals(-1, elevator.floor); // 사람이 타도 현재 층에는 변형 없음 elevator.ta(); assertEquals(-1, elevator.floor); elevator.move(3); assertEquals(-3, elevator.floor); elevator.naga(); assertEquals(-3, elevator.floor); elevator.ta(); elevator.up(2); assertEquals(-1, elevator.floor); elevator.up(2); assertEquals(0, elevator.floor); elevator.down(5); assertEquals(-5, elevator.floor); elevator.down(17); assertEquals(-20, elevator.floor); elevator.drill(); // 현재 층이 최저층이어야만 실행할 수 있다. elevator.down(1); assertEquals(-21, elevator.floor); elevator.up(5); assertEquals(-16, elevator.floor); elevator.drill(); elevator.down(10); assertEquals(-21, elevator.floor); } } }}}