/** * Tests whether setting each breakable component within the power plant has the affect of adding * it to the list of broken components and that it's isOperational() returns false. */ @Test public void testSetComponentFailed() { // Test Operator Software manual break presenter.setComponentFailed(falableComponents.OperatorSoftare); assertTrue(plant.getFailedComponents().contains(plant.getOperatingSoftware())); assertTrue(!plant.getOperatingSoftware().isOperational()); // Test Pump1 manual break presenter.setComponentFailed(falableComponents.Pump1); assertTrue(plant.getFailedComponents().contains(plant.getPumps().get(0))); assertTrue(!plant.getPumps().get(0).isOperational()); // Test Pump2 manual break presenter.setComponentFailed(falableComponents.Pump2); assertTrue(plant.getFailedComponents().contains(plant.getPumps().get(1))); assertTrue(!plant.getPumps().get(1).isOperational()); // Test Pump3 manual break presenter.setComponentFailed(falableComponents.Pump3); assertTrue(plant.getFailedComponents().contains(plant.getPumps().get(2))); assertTrue(!plant.getPumps().get(2).isOperational()); // Test Turbine manual break presenter.setComponentFailed(falableComponents.Turbine); assertTrue(plant.getFailedComponents().contains(plant.getTurbine())); assertTrue(!plant.getTurbine().isOperational()); }
// 4.4 4.8 @Test public void testRepairTurbine() { assertEquals( "Result", false, presenter .repairTurbine()); // the turbine hasn't failed so repairTurbine() should return false // break the turbine List<PlantComponent> failedComponents = plant.getFailedComponents(); failedComponents.add(plant.getTurbine()); assertEquals( "Result", true, presenter .repairTurbine()); // the turbine is now broken so repairTurbine() should return true assertEquals( "Result", false, presenter .repairTurbine()); // the turbine is already being repaired so repairTurbine() should // return false again }