기 ¶
Elevator.java ¶
public class Elevator { private int floorMax; private int floorMin; private int current; private int hopeFloor; public Elevator(int i, int j) { floorMax = i; floorMin = j; if(1<=floorMin && 1>=floorMax) current = 1; else current = floorMin; } public void pressButten(int i, int k) { goTo(i);// current = i; setHopeFloor(k); } public void goTo(int currentFloor) { if(currentFloor<= floorMax && currentFloor >= floorMin) current = currentFloor; } public int floor() { // TODO Auto-generated method stub return current; } public int getHopeFloor() { return hopeFloor; } public void setHopeFloor(int hopeFloor) { this.hopeFloor = hopeFloor; } }
app.java ¶
import static org.junit.Assert.*; import org.junit.Test; public class app { @Test public void testElevator() { final Elevator el = new Elevator(20, -10);//, assertEquals(1, el.floor());//기 == 1 el.pressButten(5, 15);// , 고 assertEquals(5, el.floor());// == el.goTo(el.getHopeFloor()); assertEquals(15, el.floor()); el.pressButten(20, 1); assertEquals(20, el.floor());// == el.goTo(el.getHopeFloor());//고 assertEquals(1, el.floor()); } }
Elevator.java ¶
import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class Elevator { private int floorMax; private int floorMin; private int peopleMax; private int floor; private int people; private Timer timer; private boolean direction; public Elevator(int i, int j, int k) { floorMax = i; floorMin = j; peopleMax = k; timer = new Timer(); } public int floor() { return floor; } public void pressButten(int i, int j, int k) { if(people == 0){ goTo(i); } } public int getCurrentFloor() { // TODO Auto-generated method stub return floor; } public void goTo(int currentFloor) { timer.scheduleAtFixedRate(new TimerTask(){ @Override public void run() { if(direction){ floor++; }else{ floor--; } } }, new Date(), 1000); if(floor == currentFloor){ timer.cancel(); } } public void in(int i) { // TODO Auto-generated method stub } public void out(int i) { // TODO Auto-generated method stub } }
app.java ¶
import static org.junit.Assert.*; import java.util.Date; import java.util.Timer; import java.util.TimerTask; import org.junit.Test; public class app { @Test public void testElevator() { final Elevator el = new Elevator(20, -10, 2);//, , Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask(){ @Override public void run() { // TODO Auto-generated method stub System.out.println(el.floor()); } }, new Date(), 1000); assertEquals(1, el.floor());//기 == 1 el.in(1); el.pressButten(5, 1, 15);// , 1: up, 0: down, 고 //el.goTo(el.getCurrentFloor());// el.in(2); assertEquals(5, el.floor());// == el.pressButten(8, 1, 13);// , 1: up, 0: down, 고 assertEquals(8, el.floor()); el.out(2); assertEquals(13, el.floor()); el.out(1); assertEquals(15, el.floor()); //if(el.checkSameDir()){// 고, 고 곳 //el.goTo(el.getCurrentFloor());// //assertEquals(8, el.floor()); //for(int i=0; i<el.numOfPeople();i++)// //el.goTo(el.closerFloor());//까 //} /* assertEquals(15, el.floor()); el.pressButten(20, 0, 1); el.goTo(el.getCurrentFloor());// assertEquals(20, el.floor());// == el.goTo(el.closerFloor());//고 assertEquals(1, el.floor()); */ } }