기 ¶
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());
*/
}
}










