first commit (dev ex not finished yet)
This commit is contained in:
108
EndUnit/EndUnit-v1.1.php
Normal file
108
EndUnit/EndUnit-v1.1.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?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.1
|
||||
* @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 mixed $currentValue Valeur renvoyer par le programme.
|
||||
*
|
||||
* @since 1.0
|
||||
* @version 1.1
|
||||
*
|
||||
* @author Jérémi N 'EndMove'
|
||||
*/
|
||||
public static function assertEquals(string|int|float $expectedValue, mixed $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 deux array 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 mixed $currentValue Valeur renvoyer par le programme.
|
||||
*
|
||||
* @since 1.1
|
||||
*
|
||||
* @author Jérémi N 'EndMove'
|
||||
*/
|
||||
public static function assertArrayEquals(array $expectedValue, mixed $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>",
|
||||
self::getFormattedArray($expectedValue), gettype($expectedValue),
|
||||
is_array($currentValue) ? self::getFormattedArray($currentValue) : $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>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Converti un tableau en string pour que celui-ci soit affichable.
|
||||
*
|
||||
* @return string Tableau sous forme d'un string.
|
||||
* @param array $array Un tableau à converir en string.
|
||||
*
|
||||
* @since 1.1
|
||||
*
|
||||
* @author Jérémi N 'EndMove'
|
||||
*/
|
||||
public static function getFormattedArray(array $array) : string
|
||||
{
|
||||
$newArray = array();
|
||||
foreach ($array as $key => $value) {
|
||||
$newArray[] = $key.':'.(is_array($value) ? self::getFormattedArray($value) : $value);
|
||||
}
|
||||
return '['.implode(', ', $newArray).']';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user