commit d5134163b27bbf3709c79e9331f7ebfbd0ba344d Author: EndMove Date: Sun Feb 27 14:41:39 2022 +0100 first commit (dev ex not finished yet) diff --git a/EndUnit/EndUnit-v1.1.php b/EndUnit/EndUnit-v1.1.php new file mode 100644 index 0000000..5f30ac0 --- /dev/null +++ b/EndUnit/EndUnit-v1.1.php @@ -0,0 +1,108 @@ +Pass

"; + else return sprintf("

Fail - expected: \"%s\"". + " (type %s), but was: \"%s\" (type %s)

", + $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 "

Pass

"; + else return sprintf("

Fail - expected: \"%s\"". + " (type %s), but was: \"%s\" (type %s)

", + 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 ? "

Pass

" : "

Fail

"; + } + + /** + * 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 ? "

Pass

" : "

Fail

"; + } + + /** + * 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).']'; + } +} \ No newline at end of file diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..ce3a1a8 --- /dev/null +++ b/functions.php @@ -0,0 +1,79 @@ +0, 'un'=>1, 'deux'=>2, 'trois'=>3, 'quatre'=>4, 'cinq'=>5); +} + + +/** NIVEAU SUPÉRIEUR + * Cette fonction prend en paramètre un tableau et un nombre et elle retourn du texte + * Si l'élément du tableau à l'index X est un nombre (voir doc pour trouver fonction requise) + * alors on renvoie le texte : "L'élément à l'index X est le nombre Y.". + * |=> Ou X est l'index et Y le nombre à cette emplacement. + * Dans le cas contraire on renvoie : "L'élément sélectionné n'est pas un nombre." + * + * Exemple : + * ['d', 1, 5, 'salut', array(), 8] 0 => "L'élément sélectionné n'est pas un nombre." + * ['d', 1, 5, 'salut', array(), 8] 1 => "L'élément à l'index 1 est le nombre 1." + * ['d', 1, 5, 'salut', array(), 8] 2 => "L'élément à l'index 2 est le nombre 5." + * ['d', 1, 5, 'salut', array(), 8] 3 => "L'élément sélectionné n'est pas un nombre." + * ['d', 1, 5, 'salut', array(), 8] 4 => "L'élément sélectionné n'est pas un nombre." + * ['d', 1, 5, 'salut', array(), 8] 5 => "L'élément à l'index 5 est le nombre 8." + * + * Tips : Checker doc php pour fonction qui vérifier qu'un variable est de type integer. + */ +function presentTheElement($array, $indexElement) +{ + // code... +} + +/** BONUS NIVEAU SUPÉRIEUR + * Cette fonction prend un integer en paramètre et renvoie un integer ou un + * double (float) dont la valeur vaut : (( nombre exposant 4 ) divisé par 2). + * + * Exemple : + * 1 => 0.5 + * 2 => 8 + * 7 => 1200.5 + * 12 => 10368 + * 4 => 128 + * + * Tips : - expossent => voir doc. + * - pour présiser deux type à utiliser simultanément [ | ] + * Exemple : + * function(string|bool $arg1) : float { return 0.1; } + * function(bool|null $arg1) : string { return "0.1"; } + */ +function getExponentFourDividedByTwo($number) +{ + // code... +} \ No newline at end of file diff --git a/functionsTests.php b/functionsTests.php new file mode 100644 index 0000000..bea8742 --- /dev/null +++ b/functionsTests.php @@ -0,0 +1,62 @@ + + + + + + + Tests Unitaires + + + +

Tests Unitaires | Exercice 3

+ +

fonction : getArrayFrom0To5()

+ + +

fonction : getArrayFrom0To5WithStringIndex()

+ + +

fonction : presentTheElement()

+ + + \ No newline at end of file