EducationNotationUtilsTest.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Test\Service\Access;
  3. use App\Entity\Access\Access;
  4. use App\Entity\Education\CriteriaNotation;
  5. use App\Entity\Education\EducationNotation;
  6. use App\Entity\Education\EducationStudent;
  7. use App\Entity\Organization\Organization;
  8. use App\Entity\Organization\Parameters;
  9. use App\Enum\Education\TypeCriteriaEnum;
  10. use App\Service\Education\EducationNotationUtils;
  11. use PHPUnit\Framework\TestCase;
  12. class EducationNotationUtilsTest extends TestCase
  13. {
  14. private EducationNotationUtils $educationNotationUtils;
  15. private EducationNotation $educationNotation;
  16. public function setUp():void
  17. {
  18. $this->educationNotationUtils = new EducationNotationUtils();
  19. $criteriaNotation = new CriteriaNotation();
  20. $criteriaNotation->setType(TypeCriteriaEnum::WITH_NOTATION()->getValue());
  21. $criteriaNotation->setNoteMax(50);
  22. $this->educationNotation = new EducationNotation();
  23. $this->educationNotation->setCriteriaNotation($criteriaNotation);
  24. }
  25. /**
  26. * @see EducationNotationUtils::getNotationTransformed()
  27. */
  28. public function testGetNotationTransformed()
  29. {
  30. $parameters = new Parameters();
  31. $parameters->setAverage(80);
  32. $organization = new Organization();
  33. $organization->setParameters($parameters);
  34. $access = new Access();
  35. $access->setOrganization($organization);
  36. $educationStudent = new EducationStudent();
  37. $educationStudent->setAccess($access);
  38. $this->educationNotation->setEducationStudent($educationStudent);
  39. $this->educationNotation->setNote(100);
  40. $this->assertEquals(80, $this->educationNotationUtils->getNotationTransformed($this->educationNotation));
  41. $this->educationNotation->setNote(50);
  42. $this->assertEquals(40, $this->educationNotationUtils->getNotationTransformed($this->educationNotation));
  43. }
  44. /**
  45. * @see EducationNotationUtils::getNotationOriginal()
  46. */
  47. public function testGetNotationOriginal()
  48. {
  49. $this->educationNotation->setNote(100);
  50. $this->assertEquals(50, $this->educationNotationUtils->getNotationOriginal($this->educationNotation));
  51. $this->educationNotation->setNote(50);
  52. $this->assertEquals(25, $this->educationNotationUtils->getNotationOriginal($this->educationNotation));
  53. }
  54. }