package org.zeropage.devilscamp;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
/*
* up�나 down� 외부�서 버튼� 누른것�다.()안� ��는 버튼� 누른 층
* upê³¼ downì�„ 누른 후ì—�는 goTo를 í• ìˆ˜ê°€ 있는ë�°
* 잘못ë�œ ì„ íƒ�ì�„ í• ê²½ìš°ì—�는 다시 goToí• ìˆ˜ 없다.
*/
public class App {
@Test
public void testElevator(){
Elevator e = new Elevator(63, -3);
//Elevator가 �성�었는지 test한다.
assertNotNull(e);
//Elevatorê°€ ìƒ�성ë� 때ì—�는 í•ìƒ� 1층으로 settingë�œë‹¤.
assertEquals(1, e.floor());
//System.out.println(e.floor());
//goTo ì „ì—�는 í•ìƒ� up 혹ì�€ downì�´ 있어야한다.
e.up(1);
assertEquals(1, e.floor());
e.goTo(5);
assertEquals(5, e.floor());
//System.out.println(e.floor());
e.up(10);
assertEquals(10, e.floor());
//Can not go
e.goTo(-5);
assertEquals(10, e.floor());
//System.out.println(e.floor());
e.down(10);
assertEquals(10, e.floor());
//Can not go
e.goTo(65);
assertEquals(10, e.floor());
//System.out.println(e.floor());
//6층�서 up누를경우
e.up(6);
assertEquals(6, e.floor());
//System.out.println(e.floor());
//6층ì—�서 upì�„ ëˆŒë €ëŠ”ë�° 3층으로 ê°ˆ 수는 없다.
//한번 goToì—� 실패하면(잘못ë�œ 범위 ì„ íƒ�:up ëˆ„ë¥´ê³ ë�” 아래층으로 goTo) 다시 goTo í• ìˆ˜ 없다.
e.goTo(3);
assertEquals(6, e.floor());
e.up(5);
assertEquals(5, e.floor());
e.goTo(60);
assertEquals(60, e.floor());
//8층�서 down누를경우
e.down(8);
assertEquals(8, e.floor());
//System.out.println(e.floor());
//한번 goToì—� 실패하면(잘못ë�œ 범위 ì„ íƒ�:down ëˆ„ë¥´ê³ ë�” 위층으로 goTo) 다시 goTo í• ìˆ˜ 없다. 갇혔ì�Œ ã…¡_ã…¡;;
e.goTo(3);
assertEquals(3, e.floor());
}
}