premier commit
This commit is contained in:
commit
f04fe7a055
65
EndUnit/EndUnit-v1.0.php
Normal file
65
EndUnit/EndUnit-v1.0.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?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>";
|
||||
}
|
||||
}
|
88
functions.php
Normal file
88
functions.php
Normal file
@ -0,0 +1,88 @@
|
||||
<?php
|
||||
// Tips : ne pas oublier de compléter les fonctions en indiquant le
|
||||
// type de données avec lesquels elles travaillent.
|
||||
// testez vos fonctions avec le fichier de test unitaire fonctionTest.php.
|
||||
|
||||
|
||||
/**
|
||||
* Cette fonction prend un integer (int) en paramètre (nombre) et renvoie un
|
||||
* boolean (bool) vrai si nombre est divisible par 5 et faux dans le cas contraire.
|
||||
*
|
||||
* Exemple :
|
||||
* 1910 => true
|
||||
* 0 => true
|
||||
* 1 => false
|
||||
* 87 => false
|
||||
* 25 => true
|
||||
* 102 => false
|
||||
*
|
||||
* Tips : modulo => cours théorique
|
||||
*/
|
||||
function isDivisibleByFive($number)
|
||||
{
|
||||
// code...
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Cette fonction prend un integer (int) en paramètre (nombre) et renvoie un
|
||||
* integer (int) qui est la négation de nombre.
|
||||
*
|
||||
* Exemple :
|
||||
* 0 => 0
|
||||
* 1 => -1
|
||||
* 548 => -548
|
||||
* -78 => 78
|
||||
* -3 => 3
|
||||
*
|
||||
* Tips : négation => cours théorique
|
||||
*/
|
||||
function getNegationOf($number)
|
||||
{
|
||||
// code...
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Cette fonction prend deux paramètres integer (int), un (dividende) et un
|
||||
* (diviseur) et revoie un boolean (bool). La valeur de retour est vrai si
|
||||
* dividende est divisible par diviseur, si non c'est faut.
|
||||
*
|
||||
* Exemple :
|
||||
* 15 5 => true
|
||||
* 99 3 => true
|
||||
* 105 2 => false
|
||||
* 24 4 => true
|
||||
* 91 3 => false
|
||||
* 0 9 => true
|
||||
* 1 8 => false
|
||||
*
|
||||
* Tips : dividende => celui qui est divisé.
|
||||
* diviseur => celui qui divise.
|
||||
*/
|
||||
function isDivisible($dividend, $divisor)
|
||||
{
|
||||
// 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...
|
||||
}
|
131
functionsTests.php
Normal file
131
functionsTests.php
Normal file
@ -0,0 +1,131 @@
|
||||
<?php
|
||||
// Fichier des tests unitaires de l'exercice 2
|
||||
include 'functions.php';
|
||||
require 'EndUnit/EndUnit-v1.0.php';
|
||||
use endunit\EndUnit;
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Tests Unitaires</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #3b3f42;
|
||||
color: #c2c8cf;
|
||||
}
|
||||
i {
|
||||
color: #F3C178;
|
||||
}
|
||||
code {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
b.pass {
|
||||
color: #00A878;
|
||||
}
|
||||
b.fail {
|
||||
color: #FE5E41;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Tests Unitaires | Exercice 2</h1>
|
||||
|
||||
<h2>fonction : isDivisibleByFive()</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<h3>Test #1 avec : (0)</h3>
|
||||
<?= EndUnit::assertTrue(isDivisibleByFive(0)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #2 avec : (1910)</h3>
|
||||
<?= EndUnit::assertTrue(isDivisibleByFive(1910)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #3 avec : (87)</h3>
|
||||
<?= EndUnit::assertFalse(isDivisibleByFive(87)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #4 avec : (25)</h3>
|
||||
<?= EndUnit::assertTrue(isDivisibleByFive(25)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #5 avec : (102)</h3>
|
||||
<?= EndUnit::assertFalse(isDivisibleByFive(102)) ?>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>fonction : getNegationOf()</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<h3>Test #1 avec : (0)</h3>
|
||||
<?= EndUnit::assertEquals(0, getNegationOf(0)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #2 avec : (1)</h3>
|
||||
<?= EndUnit::assertEquals(-1, getNegationOf(1)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #3 avec : (-78)</h3>
|
||||
<?= EndUnit::assertEquals(78, getNegationOf(-78)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #4 avec : (587)</h3>
|
||||
<?= EndUnit::assertEquals(-587, getNegationOf(587)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #5 avec : (-3)</h3>
|
||||
<?= EndUnit::assertEquals(3, getNegationOf(-3)) ?>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>fonction : isDivisible()</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<h3>Test #1 avec : (15, 5)</h3>
|
||||
<?= EndUnit::assertTrue(isDivisible(15, 5)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #2 avec : (105, 2)</h3>
|
||||
<?= EndUnit::assertFalse(isDivisible(105, 2)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #3 avec : (0, 9)</h3>
|
||||
<?= EndUnit::assertTrue(isDivisible(0, 3)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #4 avec : (1, 8)</h3>
|
||||
<?= EndUnit::assertFalse(isDivisible(1, 8)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #5 avec : (91, 3)</h3>
|
||||
<?= EndUnit::assertFalse(isDivisible(91, 3)) ?>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>fonction : getExponentFourDividedByTwo()</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<h3>Test #1 avec : (1)</h3>
|
||||
<?= EndUnit::assertEquals(0.5, getExponentFourDividedByTwo(1)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #2 avec : (2)</h3>
|
||||
<?= EndUnit::assertEquals(8, getExponentFourDividedByTwo(2)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #3 avec : (7)</h3>
|
||||
<?= EndUnit::assertEquals(1200.5, getExponentFourDividedByTwo(7)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #4 avec : (12)</h3>
|
||||
<?= EndUnit::assertEquals(10368, getExponentFourDividedByTwo(12)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Test #5 avec : (4)</h3>
|
||||
<?= EndUnit::assertEquals(128, getExponentFourDividedByTwo(4)) ?>
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user