0% ont trouvé ce document utile (0 vote)
54 vues6 pages

TP2 Correction

Le document décrit la création d'un projet Java pour tester des classes représentant des sommes d'argent et un porte-monnaie. Il inclut des instructions pour créer des classes, des méthodes pour additionner et comparer des sommes, ainsi que des tests unitaires pour valider leur fonctionnement. Des explications accompagnent chaque étape pour clarifier le but et le fonctionnement des méthodes implémentées.

Transféré par

imen Hmida
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
54 vues6 pages

TP2 Correction

Le document décrit la création d'un projet Java pour tester des classes représentant des sommes d'argent et un porte-monnaie. Il inclut des instructions pour créer des classes, des méthodes pour additionner et comparer des sommes, ainsi que des tests unitaires pour valider leur fonctionnement. Des explications accompagnent chaque étape pour clarifier le but et le fonctionnement des méthodes implémentées.

Transféré par

imen Hmida
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP2 : Test logiciel (correction)

A. Création de Projet

1. Sous Eclipse, construire un projet Java intitulé TP2_VotreNom_VotrePrénom.

2. Créer un document Word intitulé : TP2_VotreNom_VotrePré[Link]. Ce document contiendra les

captures d'écran et les explications.

B. SommeArgent

1. Réaliser la classe SommeArgent comme suit :

public class SommeArgent {

private int quantite;

private String unite;

public SommeArgent(int amount, String currency) {

quantite = amount;

unite = currency;

public int getQuantite() {

return quantite;

public String getUnite() {

return unite;

public SommeArgent add(SommeArgent m) {

return new SommeArgent(getQuantite() + [Link](), getUnite());

}
TP2 : Test logiciel (correction)

Explication : Cette classe permet de créer des objets représentant une somme d'argent avec une quantité et

une unité, et d'additionner deux sommes d'argent.

2. Tester la méthode add :

import static [Link];

import [Link];

public class SommeArgentTest {

@Test

public void test_somme() {

SommeArgent s1 = new SommeArgent(12, "DT");

SommeArgent s2 = new SommeArgent(14, "DT");

SommeArgent expected = new SommeArgent(26, "DT");

SommeArgent result = [Link](s2);

assertEquals([Link](), [Link]());

assertEquals([Link](), [Link]());

Explication : Ce test vérifie que l'addition de deux sommes produit bien le résultat attendu.

C. Encore SommeArgent

1. Ajouter la méthode equals() dans SommeArgent :

@Override

public boolean equals(Object obj) {

if (this == obj)
TP2 : Test logiciel (correction)

return true;

if (obj == null || getClass() != [Link]())

return false;

SommeArgent other = (SommeArgent) obj;

return quantite == [Link] && [Link]([Link]);

Explication : Cette méthode permet de comparer deux sommes d'argent pour savoir si elles sont égales.

2. Tester la méthode equals() :

@Test

public void test_egalite() {

SommeArgent s1 = new SommeArgent(12, "DT");

SommeArgent s2 = new SommeArgent(14, "DT");

SommeArgent sUSD = new SommeArgent(14, "USD");

assertEquals(s1, s1);

assertEquals(s2, new SommeArgent(14, "DT"));

assert (![Link](null));

assert (![Link](s1));

assert (![Link](sUSD));

Explication : Le test vérifie la cohérence de l'égalité entre objets.

3. Factoriser les initialisations communes :

private SommeArgent s1;

private SommeArgent s2;

private SommeArgent sUSD;


TP2 : Test logiciel (correction)

@Before

public void setUp() {

s1 = new SommeArgent(12, "DT");

s2 = new SommeArgent(14, "DT");

sUSD = new SommeArgent(14, "USD");

Explication : Cela évite de répéter l'initialisation dans chaque test.

D. Porte-Monnaie

1. Construire la classe PorteMonnaie :

import [Link];

public class PorteMonnaie {

private HashMap<String, Integer> contenu;

public PorteMonnaie() {

contenu = new HashMap<>();

public HashMap<String, Integer> getContenu() {

return contenu;

2. Ajouter la méthode ajouteSomme() :

public void ajouteSomme(SommeArgent sa) {

String unite = [Link]();

int quantite = [Link]();


TP2 : Test logiciel (correction)

[Link](unite, [Link](unite, 0) + quantite);

Explication : Cette méthode ajoute une somme dans le porte-monnaie, en cumulant les quantités si la devise

existe déjà.

3. Ajouter la méthode toString() :

@Override

public String toString() {

return [Link]();

Explication : Permet d'afficher facilement le contenu du porte-monnaie.

4. Ajouter la méthode equals() :

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null || getClass() != [Link]())

return false;

PorteMonnaie other = (PorteMonnaie) obj;

return [Link]([Link]);

Explication : Deux porte-monnaies sont égaux si leurs contenus sont identiques.

5. Construire la classe de test PorteMonnaieTest :


TP2 : Test logiciel (correction)

import static [Link];

import [Link];

import [Link];

public class PorteMonnaieTest {

private PorteMonnaie pm1;

private PorteMonnaie pm2;

@Before

public void setUp() {

pm1 = new PorteMonnaie();

pm2 = new PorteMonnaie();

@Test

public void test_ajouteSomme() {

[Link](new SommeArgent(5, "DT"));

[Link](new SommeArgent(5, "DT"));

[Link](new SommeArgent(10, "DT"));

assertEquals(pm1, pm2);

Explication : Ce test vérifie que l'ajout successif de deux sommes produit bien le même résultat qu'une seule

somme équivalente.

Vous aimerez peut-être aussi