-
Notifications
You must be signed in to change notification settings - Fork 0
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
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
.
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
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.
-
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.
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa por excesso de velocidade.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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
Este teste verifica o cálculo do valor total da multa quando há infrações por excesso de velocidade e "wrong direction".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor total da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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
Este teste verifica o cálculo da multa quando não há nenhuma violação.
-
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.
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa quando a infração é definida como "no violation".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa quando a infração é nula.
-
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.
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para a infração "no plate".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "no plate" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para a infração "red light".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "red light" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para a infração "stop sign".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "stop sign" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para a infração "no seat belt".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "no seat belt" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para a infração "no insurance".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "no insurance" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "drunk driving" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para a infração "reckless driving".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "reckless driving" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para a infração "hit and run".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "hit and run" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para a infração "tailgating".
-
Preparação: Criação de uma infração "tailgating".
- Criação de uma instância de
InfractionDTO
. - Definição da violação como "tailgating".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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
Este teste verifica o cálculo da multa para as infrações "tailgating" e "speeding".
-
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".
- Criação de uma instância de
-
Execução: Chamada ao método para calcular o valor da multa.
- Chamada ao método
calculateFinePrice
da classeFinePriceCalculator
com a infração criada.
- Chamada ao método
-
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.
- Utilização do método
@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);
}