0% ont trouvé ce document utile (0 vote)
45 vues3 pages

TP2 Junit5

Transféré par

bonprix1982
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)
45 vues3 pages

TP2 Junit5

Transféré par

bonprix1982
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

Exercice JUnit 5

Exercice 1:

1 : Création de la classe BankAccount


Créez une classe BankAccount avec les fonctionnalités suivantes : dépôt, retrait,
consultation du solde et gestion des exceptions pour des cas invalides.

Code : BankAccount.java

public class BankAccount {


private double balance;

public BankAccount(double initialBalance) {


if (initialBalance < 0) {
throw new IllegalArgumentException("Initial balance cannot be negative.");
}
this.balance = initialBalance;
}

public void deposit(double amount) {


if (amount <= 0) {
throw new IllegalArgumentException("Deposit amount must be positive.");
}
balance += amount;
}

public void withdraw(double amount) {


if (amount <= 0) {
throw new IllegalArgumentException("Withdrawal amount must be positive.");
}
if (amount > balance) {
throw new IllegalArgumentException("Insufficient balance.");
}
balance -= amount;
}

public double getBalance() {


return balance;
}
}
2 : Écriture des tests unitaires
Créez une classe de test BankAccountTest avec des cas de test pour valider le
comportement attendu de la classe BankAccount.

Code : BankAccountTest.java

import static org.junit.jupiter.api.Assertions.*;


import org.junit.jupiter.api.Test;

public class BankAccountTest {

@Test
void testInitialBalance() {
BankAccount account = new BankAccount(100.0);
assertEquals(100.0, account.getBalance());
}

@Test
void testDeposit() {
BankAccount account = new BankAccount(100.0);
account.deposit(50.0);
assertEquals(150.0, account.getBalance());
}

@Test
void testWithdraw() {
BankAccount account = new BankAccount(100.0);
account.withdraw(50.0);
assertEquals(50.0, account.getBalance());
}

@Test
void testDepositNegativeAmount() {
BankAccount account = new BankAccount(100.0);
assertThrows(IllegalArgumentException.class, () -> account.deposit(-10.0));
}

@Test
void testWithdrawNegativeAmount() {
BankAccount account = new BankAccount(100.0);
assertThrows(IllegalArgumentException.class, () -> account.withdraw(-10.0));
}
@Test
void testWithdrawInsufficientBalance() {
BankAccount account = new BankAccount(100.0);
assertThrows(IllegalArgumentException.class, () -> account.withdraw(150.0));
}

void testDepositParameterized(double initialBalance, double deposit, double


expectedBalance) {
BankAccount account = new BankAccount(initialBalance);
account.deposit(deposit);
assertEquals(expectedBalance, account.getBalance());
}
}

Exercice 2:

la classe Circle avec une méthode area() calcule l'aire du cercle :

public class Circle {

// Constante pour Pi
private static final double PI = 3.14159;

// Méthode pour calculer l'aire du cercle


public double area(double radius) {
if (radius < 0) {
throw new IllegalArgumentException("Le rayon ne peut pas
être négatif.");
}
return PI * radius * radius;
}
}

Créez une classe pour tester les different cas de teste

Vous aimerez peut-être aussi