fork download
  1. <?php
  2.  
  3. function valueByClassification ($valor, $classificacao) {
  4.  
  5. if ($classificacao === 'C') {
  6.  
  7. $valor_final = $valor;
  8.  
  9. } else {
  10.  
  11. $valor_final = abs($valor);
  12.  
  13. if ($classificacao === 'B') {
  14. $valor_final *= -1;
  15. }
  16.  
  17. }
  18.  
  19. return $valor_final;
  20. }
  21.  
  22. $tests = [
  23. // {valor} {classificacao} {esperado}
  24. [ 5, 'A', 5 ],
  25. [ -3, 'A', 3 ],
  26. [ 0, 'A', 0 ],
  27.  
  28. [ 5, 'B', -5 ],
  29. [ -3, 'B', -3 ],
  30. [ 0, 'B', 0 ],
  31.  
  32. [ 5, 'C', 5 ],
  33. [ -3, 'C', -3 ],
  34. [ 0, 'C', 0 ],
  35. ];
  36.  
  37. foreach($tests as $i => $test) {
  38. list($valor, $classificacao, $esperado) = $test;
  39.  
  40. $obtido = valueByClassification($valor, $classificacao);
  41.  
  42. if ($obtido === $esperado) {
  43. echo "Teste $i foi aprovado.", PHP_EOL;
  44. } else {
  45. echo "Teste $i foi reprovado. Era esperado {$esperado}, mas foi obtido {$obtido}.", PHP_EOL;
  46. }
  47. }
Success #stdin #stdout 0.01s 82880KB
stdin
Standard input is empty
stdout
Teste 0 foi aprovado.
Teste 1 foi aprovado.
Teste 2 foi aprovado.
Teste 3 foi aprovado.
Teste 4 foi aprovado.
Teste 5 foi aprovado.
Teste 6 foi aprovado.
Teste 7 foi aprovado.
Teste 8 foi aprovado.