@Test public void deveRetornarResultadoFinalOrdernadoPorProcessoId() { final int TOTAL = 10; EscalonadorProcesso fcfs = new FCFS(gerarArrayListDefault(TOTAL), 0, 0); List<ProcessoVO> resultado = fcfs.resultadoFinal(); int id = 1; for (ProcessoVO processo : resultado) { Assert.assertTrue(id++ == processo.getId()); } }
@Test public void deveRetornarResultadoOrdenadoSimples() { final Integer[] BURSTS_SIMPLES = {30, 10, 20, 50, 90}; final Integer[] ID_SIMPLES = {1, 2, 3, 4, 5}; final Integer[] TEMPO_ESPERA_PREVISTA_POR_BURST_SIMPLES = {0, 30, 40, 60, 110}; final Integer[] TEMPO_RESPOSTA_PREVISTA_POR_BURST_SIMPLES = {30, 40, 60, 110, 200}; final Integer[] TURN_AROUND_PREVISTA_POR_BURST_SIMPLES = {30, 40, 60, 110, 200}; EscalonadorProcesso fcfs = new FCFS( gerarArrayListDeProcessos(BURSTS_SIMPLES.length, BURSTS_SIMPLES, null, null), 0, 0); List<ProcessoVO> resultado = fcfs.resultadoFinal(); Assert.assertThat(resultado, Matchers.notNullValue()); Assert.assertThat(resultado.size(), Matchers.is(BURSTS_SIMPLES.length)); Iterator<ProcessoVO> resultArrayList = resultado.iterator(); while (resultArrayList.hasNext()) { ProcessoVO proc = resultArrayList.next(); Assert.assertThat( TEMPO_ESPERA_PREVISTA_POR_BURST_SIMPLES, Matchers.hasItemInArray(proc.getEspera())); Assert.assertThat( TEMPO_RESPOSTA_PREVISTA_POR_BURST_SIMPLES, Matchers.hasItemInArray(proc.getResposta())); Assert.assertThat( TURN_AROUND_PREVISTA_POR_BURST_SIMPLES, Matchers.hasItemInArray(proc.getTurnAround())); } List<ProcessoDTO> resultadoGrafico = fcfs.resultadoGraficoFinal(); Assert.assertThat(resultadoGrafico, Matchers.notNullValue()); Assert.assertThat(resultadoGrafico.size(), Matchers.is(BURSTS_SIMPLES.length)); Iterator<ProcessoDTO> resultArrayListGraphic = resultadoGrafico.iterator(); while (resultArrayListGraphic.hasNext()) { ProcessoDTO proc = resultArrayListGraphic.next(); Assert.assertThat(ID_SIMPLES, Matchers.hasItemInArray(proc.getId())); } double esperaMedia = fcfs.tempoEsperaMedia(); double respostaMedia = fcfs.tempoRespostaMedia(); double turnAroundMedio = fcfs.tempoTurnAroundMedio(); Assert.assertTrue(turnAroundMedio > 0.0); Assert.assertTrue(respostaMedia > 0.0); Assert.assertTrue(esperaMedia > 0.0); Assert.assertTrue(fcfs.totalProcessos() == BURSTS_SIMPLES.length); }