65 lines
2.2 KiB
PHP
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>";
|
||
|
}
|
||
|
}
|