Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ens:dasi2014:juint [2014/04/02 22:42]
admin Cordier Amelie () [Partie 4 - Problème]
ens:dasi2014:juint [2014/04/11 09:02] (Version actuelle)
admin Cordier Amelie () [Partie 3 - Premiers pas en TDD]
Ligne 31: Ligne 31:
 </code> </code>
  
-  * Créez une classe <code>SimpleTest.java</code> contenant le code ci-dessus.+  * Créez une classe ''%%SimpleTest.java%%'' contenant le code ci-dessus.
   * Adaptez cette classe pour la rendre conforme à JUnit 4.    * Adaptez cette classe pour la rendre conforme à JUnit 4. 
   * Exécutez le test.    * Exécutez le test. 
-  * Changez la valeur de la variable answer et relancez le test. +  * Changez la valeur de la variable ''%%answer%%'' et relancez le test. 
   * Dans votre compte-rendu, expliquez ce qui se passe.   * Dans votre compte-rendu, expliquez ce qui se passe.
  
Ligne 41: Ligne 41:
 Soit le code de la classe à tester suivant :  Soit le code de la classe à tester suivant : 
  
-<code java classeAtester.java> +<code java BinString.java>
-// A C l a s s t h a t a d d s up a s t r i n g b a s e d on t h e A S C I I v a l u e s o f i t s +
-// c h a r a c t e r s and t h e n r e t u r n s t h e b i n a r y r e p r e s e n t a t i o n o f t h e sum .+
 public class BinString { public class BinString {
-p u b l i c B i n S t r i n g ( ) {} +    public BinString() {} 
-public +  
- String convert ( String s ) { +        public String convert(String s) { 
-r e t u r n b i n a r i s e ( sum ( s ) ) ; +            return binarise(sum(s)); 
-+        
-public +         
-+        public int sum(String s) { 
-i n t sum ( S t r i n g s ) { +            if (s==""return 0; 
-i f ( s ==""r e t u r n 0 ; +            if (s.length ()==1) return ((int)(s.charAt(0))); 
-i f ( s . l e n g t h ()==1) r e t u r n ( ( i n t ) ( s . charAt ( 0 ) ) ) ; +            return ((int)(s.charAt(0))) + sum(s.substring(1)); 
-r e t u r n ( ( i n t ) ( s . c h a r A t ( 0 ) ) ) + sum ( s . s u b s t r i n g ( 1 ) ) ; +        
-+         
-public +        public String binarise(int x) { 
-+            if (x==0) return ""; 
-String binarise ( int x) { +            if (x%2==1) return "1"binarise(x/2); 
-i f ( x ==0) r e t u r n " " ; +            return "0"+binarise(x/2); 
-i f ( x %2==1) r e t u r n "1"b i n a r i s e ( x / 2 ) ; +        } 
-r e t u r n "0"b i n a r i s e ( x / 2 ) ;+
 </code> </code>
  
 Soit le code de la classe de test suivant :  Soit le code de la classe de test suivant : 
  
-<code java classeDeTest.java> +<code java BinStringTest.java> 
-import j u n i t . framework . ∗ ; +import junit.framework.∗; 
-p u b l i c c l a s s B i n S t r i n g T e s t e x t e n d s TestCase { +public class BinStringTest extends TestCase { 
-private BinString binString ; +   private BinString binString ; 
-public +    
- B i n S t r i n g T e s t S t r i n g name ) { +    public BinStringTest(String name) { 
-s u p e r ( name ) ; +        super (name); 
-+    
-p r o t e c t e d v o i d setUp () { +     
-b i n S t r i n g = new B i n S t r i n g ( ) ; +    protected void setUp(){ 
-+        binString = new BinString(); 
-public +    
- void testSumFunction () { +     
-i n t expected = 0; +    public void testSumFunction(){ 
-a s s e r t E q u a l s e x p e c t e d b i n S t r i n g . sum ( " " ) ) ; +        int expected = 0; 
-expected = 100; +        assertEquals(expectedbinString.sum("")); 
-a s s e r t E q u a l s e x p e c t e d b i n S t r i n g . sum ( " d " ) ) ; +        expected = 100; 
-expected = 265; +        assertEquals(expectedbinString.sum("d")); 
-a s s e r t E q u a l s ( expected , +        expected = 265; 
-b i n S t r i n g . sum ( " Add " ) ) ; +        assertEquals(expected, binString.sum("Add")); 
-public +    } 
- void testBinariseFunction () { +     
-S t r i n g expected = "101"; +    public void testBinariseFunction() {  
-a s s e r t E q u a l s ( expected , b i n S t r i n g b i n a r i s e ( 5 ) ) ; +        String expected = "101"; 
-expected = "11111100"; +        assertEquals(expected, binString.binarise(5)); 
-a s s e r t E q u a l s ( expected , b i n S t r i n g b i n a r i s e (252)); +        expected = "11111100"; 
-+        assertEquals(expected, binString.binarise(252)); 
-} +    
-public +     
-+    public void testTotalConversion() { 
-void testTotalConversion () { +        String expected = "10000001"; 
-S t r i n g expected = "1000001"; +        assertEquals(expectedbinString.convert("A")); 
-a s s e r t E q u a l s e x p e c t e d b i n S t r i n g c o n v e r t ( "A " ) ) ; +    } 
 +}   
 </code> </code>
  
-  * En vous aidant de la javadoc de JUnit, expliquez dans votre compte-rendu ce que fait la classe BinStringTest.+  * En vous aidant de la javadoc de JUnit, expliquez dans votre compte-rendu ce que fait la classe ''%%BinStringTest.java%%''.
   * Adaptez cette classe de test pour la faire fonctionner avec JUnit 4.    * Adaptez cette classe de test pour la faire fonctionner avec JUnit 4. 
   * Exécutez les tests et commentez le résultat dans votre compte-rendu.   * Exécutez les tests et commentez le résultat dans votre compte-rendu.
Ligne 113: Ligne 111:
 ===== Partie 3 - Premiers pas en TDD ===== ===== Partie 3 - Premiers pas en TDD =====
  
 +Dans cette partie, vous devez commencer par écrire les tests, puis écrire le code qui passe les tests. Rapportez tous les éléments de votre démarche, ainsi que les résultats obtenus dans votre compte-rendu. 
 +
 +1. Etant donné une chaîne de caractères, aboutir à une classe de code qui échange les 2 derniers caractères de cette chaîne. Les conditions de test à vérifier sont :
 +  * “AB” => “BA”
 +  * “RAIN” => “RANI”
 +  * “A” => “A”
 +  * “ “ => “ “
 +
 +2. Aboutir à une classe de code qui enlève ‘A’ d’une chaîne de caractères s’il est présent dans les 2 premiers caractères de cette chaîne. Si ‘A’ est présent après les 2 premiers caractères, il ne doit pas être enlevé. Les conditions de test à vérifier sont :
 +  * "ABCD" => "BCD", 
 +  * "AACD" => "CD", 
 +  * "BACD" => "BCD", 
 +  * "BBAA" => "BBAA", 
 +  * "AABAA" => "BAA"
 +  * "A" => ""
 +  * "" => ""
  
 ===== Partie 4 - Problème ===== ===== Partie 4 - Problème =====
Ligne 120: Ligne 134:
 En fonction du chiffre qui vous aura été attribué, réalisez l'un des deux sujets ci-dessous.  En fonction du chiffre qui vous aura été attribué, réalisez l'un des deux sujets ci-dessous. 
  
-Sujet 1. Ecrire un programme permettant de calculer toutes les racines carrées des nombres compris entre A et B, A et B étant deux nombres entiers tels que A < B. +**Sujet 1.** Ecrire un programme permettant de calculer toutes les racines carrées des nombres compris entre A et B, A et B étant deux nombres entiers tels que A < B. 
  
-Sujet 2. Ecrire un programme permettant d'afficher une matrice de taille MxN remplie de nombres aléatoires compris entre A et B. Les valeurs M, N, A et B doivent être passées en paramètre. +**Sujet 2.** Ecrire un programme permettant d'afficher une matrice de taille MxN remplie de nombres aléatoires compris entre A et B. Les valeurs M, N, A et B doivent être passées en paramètre. 
  
 2. Travail à faire.  2. Travail à faire.