Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.33 KB | None | 0 0
  1. package fr.unice.polytech.si3.project.dronedelivery.d.visualiser;
  2.  
  3. import fr.unice.polytech.si3.project.dronedelivery.d.commons.Drone;
  4. import fr.unice.polytech.si3.project.dronedelivery.d.commons.Item;
  5. import fr.unice.polytech.si3.project.dronedelivery.d.commons.command.Command;
  6. import fr.unice.polytech.si3.project.dronedelivery.d.commons.command.Deliver;
  7. import fr.unice.polytech.si3.project.dronedelivery.d.commons.command.Load;
  8. import fr.unice.polytech.si3.project.dronedelivery.d.commons.command.Unload;
  9. import fr.unice.polytech.si3.project.dronedelivery.d.commons.poi.Order;
  10. import fr.unice.polytech.si3.project.dronedelivery.d.commons.poi.Warehouse;
  11. import fr.unice.polytech.si3.project.dronedelivery.d.commons.utils.CalculeUtils;
  12. import org.junit.Before;
  13. import org.junit.Test;
  14.  
  15. import java.awt.*;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18.  
  19. import static fr.unice.polytech.si3.project.dronedelivery.d.commons.TestCommon.*;
  20. import static junit.framework.TestCase.assertEquals;
  21. import static junit.framework.TestCase.assertTrue;
  22.  
  23. /**
  24. * Created by user on 20/01/2017.
  25. */
  26. public class DroneParserTest {
  27.  
  28. private final Item item1 = new Item(1, 40);
  29. private final Item item2 = new Item(2, 40);
  30. private final Item item0 = new Item(0, 40);
  31. private DroneParser droneParser;
  32. private Command loadCommand;
  33. private int nbItems;
  34. private List<Warehouse> warehouseList = new ArrayList<>();
  35. private Drone drone;
  36. private Order order0;
  37. private Deliver deliverCommand;
  38. private Warehouse warehouse0;
  39. private List<Order> orders = new ArrayList<>();
  40.  
  41. @Before
  42. public void setUp() throws Exception {
  43. int budget = 25;
  44. drone = new Drone(0, 200, initTestItemMap(item0, item1, item2), budget, new Point(0, 0));
  45. warehouse0 = createTestWarehouse(0, item1, 3);
  46. Warehouse warehouse1 = createTestWarehouse(1, item1, 4);
  47. warehouseList.add(warehouse0);
  48. warehouseList.add(warehouse1);
  49. order0 = createTestOrder(0, item1, 1);
  50. Order order1 = createTestOrder(1, item1, 2);
  51. orders.add(order0);
  52. orders.add(order1);
  53. droneParser = new DroneParser(drone, budget, warehouseList, orders);
  54. nbItems = 2;
  55. loadCommand = new Load(drone, warehouse0, item1, nbItems);
  56. deliverCommand = new Deliver(drone, order0, item1, nbItems);
  57. }
  58.  
  59. @Test
  60. public void load() throws Exception {
  61. droneParser.load(1, 1, nbItems);
  62. DataStruct turn = droneParser.getTurn(0);
  63. assertTrue(turn.getCommand() instanceof Load);
  64. assertEquals(warehouseList.get(1), turn.getDestination());
  65. }
  66.  
  67. @Test
  68. public void deliver() throws Exception {
  69. droneParser.deliver(1, 1, nbItems);
  70. DataStruct turn = droneParser.getTurn(0);
  71. assertTrue(turn.getCommand() instanceof Deliver);
  72. assertEquals(orders.get(1), turn.getDestination());
  73. }
  74.  
  75. @Test
  76. public void unload() throws Exception {
  77. droneParser.unload(0, 1, nbItems);
  78. DataStruct turn = droneParser.getTurn(0);
  79. assertTrue(turn.getCommand() instanceof Unload);
  80. assertEquals(warehouseList.get(0), turn.getDestination());
  81. }
  82.  
  83. @Test
  84. public void takeAction() throws Exception {
  85. int firstDist = drone.getEuclidienneDistance(warehouseList.get(0).getCoordonnees()) + 1;
  86. int firstMax = firstDist;
  87. droneParser.takeAction(warehouse0, loadCommand, nbItems);
  88. for (int i = 0; i < firstMax; i++) {
  89. DataStruct turn = droneParser.getTurn(i);
  90. assertEquals(loadCommand, turn.getCommand());
  91. assertEquals(warehouseList.get(0), turn.getDestination());
  92. assertEquals(firstDist--, turn.getEta());
  93. assertEquals(nbItems, turn.getItemCount());
  94. }
  95. int dist = CalculeUtils.calculEuclidien(warehouse0.getCoordonnees(), order0.getCoordonnees()) + 1;
  96. int max = dist;
  97. droneParser.takeAction(order0, deliverCommand, nbItems);
  98. for (int i = firstMax; i < max; i++) {
  99. DataStruct turn = droneParser.getTurn(i);
  100. assertEquals(deliverCommand, turn.getCommand());
  101. assertEquals(order0, turn.getDestination());
  102. assertEquals(dist--, turn.getEta());
  103. assertEquals(nbItems, turn.getItemCount());
  104. }
  105. }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement