Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package edu.ben.labs.lab5.test;
- import static org.junit.Assert.*;
- import org.junit.Test;
- import edu.ben.labs.lab5.Cargo;
- import edu.ben.labs.lab5.CargoPlane;
- import edu.ben.labs.lab5.MyStack;
- public class Lab5Test {
- MyStack hangar = new MyStack();
- MyStack notLoaded = new MyStack();
- @Test
- public void testLoadCargo() {
- CargoPlane airplane1 = new CargoPlane(1, 100, 100);
- CargoPlane airplane2 = new CargoPlane(2, 50, 50);
- hangar.push(airplane2);
- hangar.push(airplane1);
- Cargo cargo1 = new Cargo();
- cargo1.setTrackingNum(5);
- cargo1.setCubicFeet(90);
- cargo1.setWeight(90);
- cargo1.setValue(100);
- Cargo cargo2 = new Cargo();
- cargo2.setTrackingNum(10);
- cargo2.setCubicFeet(40);
- cargo2.setWeight(40);
- cargo2.setValue(200);
- Cargo cargo3 = new Cargo();
- cargo3.setTrackingNum(15);
- cargo3.setCubicFeet(30);
- cargo3.setWeight(30);
- cargo3.setValue(50);
- cargoSortAndLoad(cargo1, hangar, notLoaded);
- cargoSortAndLoad(cargo2, hangar, notLoaded);
- cargoSortAndLoad(cargo3, hangar, notLoaded);
- airplane1 = (CargoPlane) hangar.pop();
- assertFalse(airplane1.isEmpty());
- airplane2 = (CargoPlane) hangar.pop();
- assertFalse(airplane2.isEmpty());
- assertFalse(notLoaded.isEmpty());
- }
- @Test
- public void testSort() {
- CargoPlane airplane1 = new CargoPlane(1, 100, 100);
- Cargo check = new Cargo();
- Cargo cargo1 = new Cargo();
- cargo1.setTrackingNum(1);
- cargo1.setCubicFeet(50);
- cargo1.setWeight(50);
- cargo1.setValue(100);
- Cargo cargo2 = new Cargo();
- cargo2.setTrackingNum(2);
- cargo2.setCubicFeet(100);
- cargo2.setWeight(100);
- cargo2.setValue(200);
- Cargo cargo3 = new Cargo();
- cargo3.setTrackingNum(3);
- cargo3.setCubicFeet(25);
- cargo3.setWeight(25);
- cargo3.setValue(50);
- airplane1.sortAndLoadCargo(cargo1);
- airplane1.sortAndLoadCargo(cargo2);
- airplane1.sortAndLoadCargo(cargo3);
- check = (Cargo) airplane1.pop();
- assertEquals(3, check.getTrackingNum());
- check = (Cargo) airplane1.pop();
- assertEquals(1, check.getTrackingNum());
- check = (Cargo) airplane1.pop();
- assertEquals(2, check.getTrackingNum());
- }
- public static void cargoSortAndLoad(Cargo cargo, MyStack hangar,
- MyStack notLoaded) {
- boolean didItLoad = false;
- MyStack temp = new MyStack(hangar.getCapacity());
- while (!didItLoad && !hangar.isEmpty()) {
- CargoPlane planeCheck = (CargoPlane) hangar.pop();
- if ((cargo.getCubicFeet() < planeCheck.getCurrentSize())
- && (cargo.getWeight() < planeCheck.getCurrentWeight())
- && (planeCheck.getCurrentSize() > 0)
- && (planeCheck.getCurrentWeight() > 0)) {
- planeCheck.sortAndLoadCargo(cargo);
- planeCheck.updateWeight(cargo.getWeight());
- planeCheck.updateSize(cargo.getCubicFeet());
- hangar.push(planeCheck);
- didItLoad = true;
- } else {
- temp.push(planeCheck);
- }
- }
- while (!temp.isEmpty()) {
- hangar.push(temp.pop());
- }
- if (!didItLoad) {
- notLoaded.push(cargo);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement