Jumper 測試報告
Jumper 測試報告
目的
測試我們所寫的Jumper函式是否符合預期,以及是否會出現一些意外錯誤。
思路
- 首先測試 Jumper能否正常的跳兩格
- 測試Jumper在第二格是牆的時候是否只跳一格
- 然後測試 Jumper 在面對一格有岩石時能否跳過去
- 測試Jumper無路可走時是否會轉彎
- 測試Jumper面對兩格有岩石時是否跳一格
- 再測試 Jumper 面對兩格有花時是否只跳一格
- 最後測試兩個 Jumper 互相面對時是否會轉彎。
程式碼
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import info.gridworld.actor.*;
import info.gridworld.grid.Location;
import java.awt.Color;
public class JumperTest{
@Test
public void testJump1() { //測試 Jumper能否正常的跳兩格
ActorWorld world = new ActorWorld();
//new a jumper
Jumper a = new Jumper(Color.RED);
world.add(new Location(2,0), a);
//test initial location
assertEquals(2, a.getLocation().getRow());
assertEquals(0, a.getLocation().getCol());
assertEquals(Location.NORTH, a.getDirection());
a.act();
//test result location
assertEquals(0, a.getLocation().getRow());
assertEquals(0, a.getLocation().getCol());
assertEquals(Location.NORTH, a.getDirection());
}
@Test
public void testJump2() {//測試Jumper在第二格是牆的時候是否只跳一格
ActorWorld world = new ActorWorld();
//new a jumper
Jumper a = new Jumper(Color.RED);
world.add(new Location(1,0), a);
//test initial location
assertEquals(1, a.getLocation().getRow());
assertEquals(0, a.getLocation().getCol());
assertEquals(Location.NORTH, a.getDirection());
a.act();
//test result location
assertEquals(0, a.getLocation().getRow());
assertEquals(0, a.getLocation().getCol());
assertEquals(Location.NORTH, a.getDirection());
}
@Test
public void testJump3() {//然後測試 Jumper 在面對一格有岩石時能否跳過去
ActorWorld world = new ActorWorld();
//new a jumper
Jumper a = new Jumper(Color.RED);
Rock r = new Rock();
world.add(new Location(4,4), a);
world.add(new Location(3,4), r);
//test initial location
assertEquals(4, a.getLocation().getRow());
assertEquals(4, a.getLocation().getCol());
assertEquals(Location.NORTH, a.getDirection());
a.act();
//test result location
assertEquals(2, a.getLocation().getRow());
assertEquals(4, a.getLocation().getCol());
assertEquals(Location.NORTH, a.getDirection());
}
@Test
public void testMove() {//測試Jumper無路可走時是否會轉彎
Jumper ab = new Jumper(Color.RED);
ActorWorld world = new ActorWorld();
world.add(new Location(0,0), ab);
assertEquals(0, ab.getLocation().getRow());
assertEquals(0, ab.getLocation().getCol());
assertEquals(Location.NORTH, ab.getDirection());
ab.act();
assertEquals(0, ab.getLocation().getRow());
assertEquals(0, ab.getLocation().getCol());
assertEquals(Location.NORTHWEST, ab.getDirection());
}
@Test
public void testRock()//測試Jumper面對兩格有岩石時是否跳一格
{
ActorWorld world = new ActorWorld();
Jumper a = new Jumper(Color.RED);
Rock r=new Rock(Color.GREEN);
world.add(new Location(3,3), a);
world.add(new Location(2,3), r);
a.act();
assertEquals(1, a.getLocation().getRow());
assertEquals(3, a.getLocation().getCol());
assertEquals(Location.NORTH, a.getDirection());
}
@Test
public void testFlower()//再測試 Jumper 面對兩格有花時是否只跳一格
{
ActorWorld world = new ActorWorld();
Jumper a = new Jumper(Color.RED);
Flower r=new Flower(Color.GREEN);
world.add(new Location(3,3), a);
world.add(new Location(1,3), r);
a.act();
assertEquals(2, a.getLocation().getRow());
assertEquals(3, a.getLocation().getCol());
assertEquals(Location.NORTH, a.getDirection());
}
@Test
public void jumperface()//最後測試兩個 Jumper 互相面對時是否會轉彎
{
ActorWorld world = new ActorWorld();
Jumper a = new Jumper(Color.RED);
Jumper b = new Jumper(Color.ORANGE);
a.setDirection(180);
world.add(new Location(1,3), a);
world.add(new Location(3,3), b);
a.act();
assertEquals(1, a.getLocation().getRow());
assertEquals(3, a.getLocation().getCol());
assertEquals(Location.SOUTHEAST, a.getDirection());
b.act();
assertEquals(3, b.getLocation().getRow());
assertEquals(3, b.getLocation().getCol());
assertEquals(Location.NORTHWEST, b.getDirection());
}
}
結果
全部通過測試
相關文章
- Allure測試報告測試報告
- 雲測試報告測試報告
- 測試計劃和測試報告測試報告
- 測試總結報告
- 滲透測試報告測試報告
- pytest-testreport測試報告測試報告
- CNAS軟體測試報告測試報告
- 雲服務測試報告測試報告
- 軟體測試--缺陷報告
- 走進Java介面測試之測試報告ExtentReportJava測試報告
- 軟體安全測試報告怎麼編寫?安全測試報告價格貴嗎?測試報告
- allure 測試報告怎麼嵌入到測試平臺?測試報告
- allure生成測試報告 0 NAN%測試報告NaN
- 效能測試報告編寫技巧測試報告
- 如何編寫功能測試報告測試報告
- 高顏值測試報告- XTestRunner測試報告
- httprunner(11)執行測試報告HTTP測試報告
- 整合 extentreports、beautifulreport、allure 測試報告測試報告
- 軟體產品測試報告在哪裡申請?出具測試報告時間要多久?測試報告
- 軟體效能測試報告應該包含的內容,效能測試報告需要多少錢?測試報告
- 軟體效能測試報告怎麼編寫?哪些機構可以出具效能測試報告測試報告
- 滲透測試學習之報告測試引數五
- Python單元測試框架pytest常用測試報告型別Python框架測試報告型別
- 軟體測試報告包含哪些內容?如何獲取高質量軟體測試報告?測試報告
- 軟體安全測試報告怎麼編寫?出具測試報告的權威軟體檢測機構測試報告
- Cypress系列(41)- Cypress 的測試報告測試報告
- 輸入測試報告的步驟測試報告
- jmeter分散式no-gui 測試報告JMeter分散式GUI測試報告
- jmeter+ant輸出測試報告JMeter測試報告
- 2021年測試工具調查報告
- pytest(11)-Allure生成測試報告(一)測試報告
- pytest(2)-pytest-html測試報告HTML測試報告
- 軟體系統功能測試報告測試報告
- Jmeter——結合Allure展示測試報告JMeter測試報告
- 軟體測試報告內容如何編寫?可出具專業軟體測試報告公司安利測試報告
- 測試計劃&效能測試分析報告模板(僅供參考)
- 記學習滲透測試之報告測試引數二
- 記學習滲透測試之報告測試引數一