Skip to content

Plano de Testes Serviço de Infrações

Mendes edited this page Oct 3, 2023 · 1 revision

Plano de Testes Serviço de Infrações

ID Requisito Passou/Falhou
01 RF06 Passou
02 RF06 Passou
04 RF06 Passou
05 RF06 Passou
06 RF06 Passou
07 RF06 Passou
08 RF06 Passou
09 RF06 Passou
10 RF06 Passou
11 RF06 Passou
12 RF06 Passou
13 RF06 Passou
14 RF06 Passou
15 RF06 Passou
16 RF06 Passou
17 RF06 Passou
18 RF06 Passou
19 RF06 Passou
20 RF06 Passou
21 RF06 Passou
22 RF06 Passou
23 RF06 Passou

Caso de Teste 01

Teste testCalculateFinePriceSpeeding1

Este teste verifica o cálculo do valor da multa por excesso de velocidade (infração "speeding") utilizando o método calculateFinePrice da classe FinePriceCalculator.

Passos do Teste

  1. Preparação: Criação de uma infração por excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "speeding".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é igual a 45.0.
    • Utilização do método assertEquals para verificar se o valor retornado é 45.0.
  @Test
    void testCalculateFinePriceSpeeding1() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("speeding");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(45.0, finePrice); 
    }

Caso de Teste 02

Teste testCalculateSpeedingFine2

Este teste verifica o cálculo da multa por excesso de velocidade ("speeding") com base na diferença entre a velocidade registrada e a velocidade máxima permitida.

Passos do Teste

  1. Preparação: Criação de uma infração por excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 100.
    • Definição da velocidade máxima permitida como 80.
  2. Execução: Chamada ao método para calcular o valor da multa por excesso de velocidade.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é calculado corretamente com base na diferença de velocidade e na taxa de multa padrão.
    • Cálculo do valor esperado da multa.
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
@Test
    void testCalculateSpeedingFine2() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setSpeed(100);
        infractionDTO.setMaxSpeed(80);

        double speedingFine = FinePriceCalculator.calculateFinePrice("speeding", infractionDTO);

        double expectedFine = (100 - 80) * 45.0;
        assertEquals(expectedFine, speedingFine);
    }

Caso de Teste 03

Teste testCalculateSpeedingAndWrongDirection

Este teste verifica o cálculo do valor total da multa quando há infrações por excesso de velocidade e "wrong direction".

Passos do Teste

  1. Preparação: Criação de uma infração por excesso de velocidade e infração por direção errada.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 100.
    • Definição da velocidade máxima permitida como 80.
    • Definição da violação como "wrong direction".
  2. Execução: Chamada ao método para calcular o valor total da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor total da multa é calculado corretamente somando as multas individuais de excesso de velocidade e direção errada.
    • Cálculo do valor esperado da multa total.
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateSpeedingAndWrongDirection() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setSpeed(100);
        infractionDTO.setMaxSpeed(80);
        infractionDTO.setViolation("wrong direction");

        double expectedSpeedingFine = (100 - 80) * FinePriceCalculator.calculateFinePrice("speeding");
        double expectedWrongDirectionFine = FinePriceCalculator.calculateFinePrice("wrong direction");

        double expectedTotalFine = expectedSpeedingFine + expectedWrongDirectionFine;

        double totalFine = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(expectedTotalFine, totalFine);
    }

Caso de teste 04

Teste testCalculateFinePriceNoViolation

Este teste verifica o cálculo da multa quando não há nenhuma violação.

Passos do Teste

  1. Preparação: Criação de uma infração sem violação.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 100.
    • Definição da velocidade máxima permitida como 180.
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é zero quando não há nenhuma violação.
    • Utilização do método assertEquals para verificar se o valor calculado é zero.
 @Test
    void testCalculateFinePriceNoViolation() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setSpeed(100);
        infractionDTO.setMaxSpeed(180);

        double speedingFine = FinePriceCalculator.calculateFinePrice("speeding", infractionDTO);

        assertEquals(0.0, speedingFine);
    }

Caso de Teste 05

Teste testCalculateFinePriceNoViolation2

Este teste verifica o cálculo da multa quando a infração é definida como "no violation".

Passos do Teste

  1. Preparação: Criação de uma infração com violação "no violation".
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 100.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "no violation".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é zero quando a infração é "no violation".
    • Utilização do método assertEquals para verificar se o valor calculado é zero.
 @Test
    void testCalculateFinePriceNoViolation2() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setSpeed(100);
        infractionDTO.setMaxSpeed(180);
        infractionDTO.setViolation("no violation");

        double speedingFine = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(0.0, speedingFine);
    }

Caso de Teste 06

Teste testCalculateFinePriceNoViolation3

Este teste verifica o cálculo da multa quando a infração é nula.

Passos do Teste

  1. Preparação: Criação de uma infração sem violação.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 100.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como nula.
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é zero quando a infração é nula.
    • Utilização do método assertEquals para verificar se o valor calculado é zero.
 @Test
    void testCalculateFinePriceNoViolation3() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setSpeed(100);
        infractionDTO.setMaxSpeed(180);
        infractionDTO.setViolation(null);

        double speedingFine = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(0.0, speedingFine);
    }

Caso de Teste 07

Teste testCalculateNoPlate

Este teste verifica o cálculo da multa para a infração "no plate".

Passos do Teste

  1. Preparação: Criação de uma infração "no plate".
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "no plate".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 300.0 para a infração "no plate".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
@Test
    void testCalculateNoPlate() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("no plate");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(300.0, finePrice); 
    }

Caso de Teste 08

Teste testCalculateNoPlateAndSpeeding

Este teste verifica o cálculo da multa para as infrações "no plate" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "no plate" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "no plate".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 1200.0 para as infrações "no plate" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateNoPlateAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("no plate");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(1200.0, finePrice); 
    }

Caso de Teste 09

Teste testCalculateRedLight

Este teste verifica o cálculo da multa para a infração "red light".

Passos do Teste

  1. Preparação: Criação de uma infração "red light".
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "red light".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 150.0 para a infração "red light".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.

 @Test
    void testCalculateRedLight() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("red light");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(150.0, finePrice); 
    }

Caso de Teste 10

Teste testCalculateRedLightAndSpeeding

Este teste verifica o cálculo da multa para as infrações "red light" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "red light" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "red light".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 1050.0 para as infrações "red light" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateRedLightAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("red light");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(1050.0, finePrice); 
    }

Caso de Teste 11

Teste testCalculateStopSign

Este teste verifica o cálculo da multa para a infração "stop sign".

Passos do Teste

  1. Preparação: Criação de uma infração "stop sign".
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "stop sign".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 120.0 para a infração "stop sign".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateStopSign() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("stop sign");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(120.0, finePrice);
    }

Caso de teste 12

Teste testCalculateStopSignAndSpeeding

Este teste verifica o cálculo da multa para as infrações "stop sign" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "stop sign" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "stop sign".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 1020.0 para as infrações "stop sign" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
  @Test
    void testCalculateStopSignAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("stop sign");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(1020.0, finePrice); 
    }

Caso de Teste 13

Teste testCalculateNoSeatBelt

Este teste verifica o cálculo da multa para a infração "no seat belt".

Passos do Teste

  1. Preparação: Criação de uma infração "no seat belt".
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "no seat belt".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 80.0 para a infração "no seat belt".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.

  @Test
    void testCalculateNoSeatBelt() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("no seat belt");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(80.0, finePrice);
    }

Caso de Teste 14

Teste testCalculateNoSeatBeltAndSpeeding

Este teste verifica o cálculo da multa para as infrações "no seat belt" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "no seat belt" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "no seat belt".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 980.0 para as infrações "no seat belt" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateNoSeatBeltAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("no seat belt");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(980.0, finePrice);
    }

Caso de Teste 15

Teste testCalculateNoInsurance

Este teste verifica o cálculo da multa para a infração "no insurance".

Passos do Teste

  1. Preparação: Criação de uma infração "no insurance".
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "no insurance".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 150.0 para a infração "no insurance".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
  @Test
    void testCalculateNoInsurance() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("no insurance");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(150.0, finePrice); 
    }

Caso de Teste 16

Teste testCalculateNoInsuranceAndSpeeding

Este teste verifica o cálculo da multa para as infrações "no insurance" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "no insurance" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "no insurance".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 1050.0 para as infrações "no insurance" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.

 @Test
    void testCalculateNoInsuranceAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("no insurance");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(1050.0, finePrice); 
    }

Caso de Teste 17

Teste testCalculateDrunkDrivingAndSpeeding

Este teste verifica o cálculo da multa para as infrações "drunk driving" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "drunk driving" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "drunk driving".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 1400.0 para as infrações "drunk driving" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateDrunkDrivingAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("drunk driving");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(1400.0, finePrice); 
    }

Caso de Teste 18

Teste testCalculateRecklessDriving

Este teste verifica o cálculo da multa para a infração "reckless driving".

Passos do Teste

  1. Preparação: Criação de uma infração "reckless driving".
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "reckless driving".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 400.0 para a infração "reckless driving".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateRecklessDriving() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("reckless driving");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(400.0, finePrice); 
    }

Caso de Teste 19

Teste testCalculateRecklessDrivingAndSpeeding

Este teste verifica o cálculo da multa para as infrações "reckless driving" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "reckless driving" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "reckless driving".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 1300.0 para as infrações "reckless driving" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateRecklessDrivingAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("reckless driving");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(1300.0, finePrice); 
    }

Caso de Teste 20

Teste testCalculateHitAndRun

Este teste verifica o cálculo da multa para a infração "hit and run".

Passos do Teste

  1. Preparação: Criação de uma infração "hit and run".
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "hit and run".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 600.0 para a infração "hit and run".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateHitAndRun() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("hit and run");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(600.0, finePrice); 
    }

Caso de Teste 21

Teste testCalculateHitAndRunAndSpeeding

Este teste verifica o cálculo da multa para as infrações "hit and run" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "hit and run" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "hit and run".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 1500.0 para as infrações "hit and run" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
 @Test
    void testCalculateHitAndRunAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("hit and run");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(1500.0, finePrice); 
    }

Caso de Teste 22

Teste testCalculateTailgating

Este teste verifica o cálculo da multa para a infração "tailgating".

Passos do Teste

  1. Preparação: Criação de uma infração "tailgating".
    • Criação de uma instância de InfractionDTO.
    • Definição da violação como "tailgating".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 100.0 para a infração "tailgating".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
  @Test
    void testCalculateTailgating() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("tailgating");

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(100.0, finePrice); 
    }

Caso de Teste 23

Teste testCalculateTailgatingAndSpeeding

Este teste verifica o cálculo da multa para as infrações "tailgating" e "speeding".

Passos do Teste

  1. Preparação: Criação de uma infração "tailgating" com excesso de velocidade.
    • Criação de uma instância de InfractionDTO.
    • Definição da velocidade registrada como 200.
    • Definição da velocidade máxima permitida como 180.
    • Definição da violação como "tailgating".
  2. Execução: Chamada ao método para calcular o valor da multa.
    • Chamada ao método calculateFinePrice da classe FinePriceCalculator com a infração criada.
  3. Verificação: Garante que o valor da multa é 1000.0 para as infrações "tailgating" e "speeding".
    • Utilização do método assertEquals para verificar se o valor calculado corresponde ao esperado.
    @Test
    void testCalculateTailgatingAndSpeeding() {
        InfractionDTO infractionDTO = new InfractionDTO();
        infractionDTO.setViolation("tailgating");
        infractionDTO.setSpeed(200);
        infractionDTO.setMaxSpeed(180);

        double finePrice = FinePriceCalculator.calculateFinePrice(infractionDTO.getViolation(), infractionDTO);

        assertEquals(1000.0, finePrice); 
    }
Clone this wiki locally