PHP-Exercice1/EndUnit/EndUnit-v1.0.php
2021-10-27 11:59:41 +02:00

65 lines
2.2 KiB
PHP

<?php
namespace endunit;
/**
* EndUnit
*
* Classe statique de permettant de faire des tests utilitaires
* pour vérifier le bon comportement de son code.
*
* @package endunit
*
* @version 1.0
* @author Jérémi N 'EndMove'
*/
class EndUnit {
/**
* Vérifier que deux string/int/double sont égaux.
*
* @return string Information sur le status du test 'Pass' ou 'Fail'
* Certaine informations complémentaires peuvent être
* jointes à la valeur de retour du test.
* @param string|int|float $expectedValue Valeur attendue par le programme.
* @param string|int|float $currentValue Valeur renvoyer par le programme.
*
* @since 1.0
*
* @author Jérémi N 'EndMove'
*/
public static function assertEquals(string|int|float $expectedValue, string|int|float|null $currentValue) : string
{
if ($expectedValue === $currentValue) return "<p><b class='pass'>Pass</b></p>";
else return sprintf("<p><b class='fail'>Fail</b> - expected: \"<code>%s</code>\"".
" <i>(type %s)</i>, but was: \"<code>%s</code>\" <i>(type %s)</i></p>",
$expectedValue, gettype($expectedValue), $currentValue, gettype($currentValue));
}
/**
* Vérifier que le résultat est bien un boolean de valeur true.
*
* @return string Information sur le status du test 'Pass' ou 'Fail'.
* @param bool $currentValue Un boolean.
*
* @since 1.0
*
* @author Jérémi N 'EndMove'
*/
public static function assertTrue(bool|null $currentValue) : string
{
return $currentValue === true ? "<p><b class='pass'>Pass</b></p>" : "<p><b class='fail'>Fail</b></p>";
}
/**
* Vérifier que le résultat est bien un boolean de valeur false.
*
* @return string Information sur le status du test 'Pass' ou 'Fail'.
* @param bool $currentValue Un boolean.
*
* @since 1.0
*
* @author Jérémi N 'EndMove'
*/
public static function assertFalse(bool|null $currentValue) : string
{
return $currentValue === false ? "<p><b class='pass'>Pass</b></p>" : "<p><b class='fail'>Fail</b></p>";
}
}