Information

Author(s) Munyabarenzi Clémentine Zaninka (ressource: syllabus d'exercices SINF1101)
Deadline No deadline
Submission limit No limitation

Sign in

Mission 11: Question de Démarrage 2 : JUnit (partie 2)

Suite de la question de démarrage 1.

La classe sous test:

class DList
{
    List<Double> l;

    /**
     * @pre
     * @post a construit une liste initialement vide
     */
    public DList()
    {
        l=new LinkedList<Double>();
    }

    /**
     * @pre d!=null
     * @post a ajout le Double d dans la liste
     */
    public void add(Double d)
    {
        assert d!=null;
        l.add(d);
    }
    /**
     * @pre d!=null
     * @post retourne true si d se trouvait dans la liste et false sinon
     *       a retire de la liste toutes les instances de Double egales
     *       a d
     */
    public boolean remove(Double d)
    {
        assert d!=null;
        int i=l.indexOf(d);
        if(i>=0)
        {
            Double d1=l.remove(i);
            return true;
        }
        else
        {
            return false;
        }
    }

    /**
     * @pre d!=null
     * @post retourne true si d se trouve dans la liste et false sinon
     */
    public boolean contains(Double d)
    {
        return l.contains(d);
    }

    /**
     * @pre -
     * @post retourne le nombre de Double se trouvant dans la liste
     */
    public int size()
    {
        return l.size();
    }
}

La partie de la classe test à compléter:

    /**
     * @pre
     * @post verification du bon fonctionnement de la methode remove:
     *          cette méthode vérifie que la méthode remove échoue quand
     *       il le faut.
     */
    public void testReussiteRemove()
    {
        // Creation de la liste
        DList l=new DList();


        // ajout de trois elements a la liste
        l.add(new Double(2.3));
        l.add(new Double(2.4));
        l.add(new Double(2.4));


        // retrait de ces trois elements
        assertEquals("Le retrait d'un element se trouvant dans la liste"
                + " devrait renvoyer true",/*(1)???*/,/*(2)???*/);
        assertEquals("Le retrait d'un element se trouvant deux fois dans"
                + " la liste devrait renvoyer true",/*(3)???*/,/*(4)???*/);
    }

    /**
     * @pre
     * @post verification du bon fonctionnement de la methode remove:
     *          cette méthode vérifie
     *       que la méthode remove échoue quand il le faut.
     */
    public void testEchecRemove(){

        // Creation de la liste
        DList l=new DList();

        // Retrait d'un element d'une liste vide
        assertEquals("Le retrait d'un element ne se trouvant pas dans"
                + " la liste devriat renvoyer false",/*(5)???*/,/*(6)???*/);

        // Ajout de trois elements a la liste
        l.add(new Double(2.3));
        /*(7)???*/
        l.add(new Double(2.4));

        // Retrait de ces trois elements
        l.remove(new Double(2.3));
        assertEquals("Le retrait d'un element ne se trouvant plus dans"
                + " la liste devrait renvoyer false",/*(8)???*/,/*(9)???*/);
        assertEquals("Le retrait d'un element ne se trouvant pas dans "
                + "la liste devriat renvoyer false",/*(10)???*/,/*(11)???*/);
        l.remove(new Double(2.4));
        assertEquals("Le retrait d'un element dont les deux exemplaires"
                + " ne sont plus dans la liste devrait renvoyer false",/*(12)???*/,/*(13)???*/);
    }

}

Question 1:
Question 2:
Question 3:
Question 4:
Question 5:
Question 6:
Question 7:
Question 8:
Question 9:
Question 10:
Question 11:
Question 12:
Question 13: