Salta el contingut
 

Exercici: Proves de BankAccount

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Proves de BankAccount

L'objectiu d'aquest exercici és desenvolupar la lògica d'una aplicació bancària per gestionar els comptes dels clients i comprovar que funciona correctament amb proves unitàries.

La metodologia de desenvolupament serà el desenvolupament guiat per proves (Test-Driven Development, TDD).

Recorda que el TDD consisteix a escriure les proves abans de programar la lògica de l'aplicació.

De moment, es treballa amb baby steps, és a dir, els canvis de cada iteració són mínims i només s'implementa el mínim perquè la prova passe.

No obstant això, no cal fer cap prova per a la definició de la classe o dels mètodes.

BankAccountTest

ud4.objects

Crea la classe BankAccountTest per desenvolupar les proves unitàries de la classe BankAccount, tenint en compte les indicacions següents:

  • Utilitza classes @Nested per agrupar les proves de cada funcionalitat.
  • Utilitza l'anotació @DisplayName per donar un nom a cada classe i prova.
  • Utilitza les anotacions necessàries per simplificar el codi de les proves.
  • Mantín l'ordre de creació de les proves, de manera que es puga vore el procés TDD seguit.
  • Si has d'esborrar una prova, no l'esborres: comenta-la.

BankAccount

ud4.objects

La classe BankAccount representa un compte bancari, amb l'estructura següent:

classDiagram
    class BankAccount {
        - «get» number: int
        - «get» holder: String
        - «get» balance: double
        + BankAccount(number: int, holder: String)
        + BankAccount(number: int, holder: String, balance: double)
        + deposit(amount: double): boolean
        + withdraw(amount: double): boolean
        + transfer(account: BankAccount, amount: double): boolean
    }

Constructors

Els comptes bancaris es poden crear de dues maneres:

  • Especificant el número de compte i el nom del titular.
  • Especificant el número de compte, el nom del titular i el saldo inicial.

Mètodes

Aquesta classe ha d'implementar les funcionalitats següents:

Retornen els valors de les propietats de la classe.

No cal implementar proves per a aquests mètodes.

Aquest mètode ingressa diners en el compte.

  • Retorna true si l'ingrés s'ha efectuat correctament o false en cas contrari.
  • No es pot ingressar una quantitat negativa o zero.

Aquest mètode retira diners del compte.

  • Retorna true si la retirada s'ha efectuat correctament.
  • No es pot retirar una quantitat negativa o zero.
  • No es pot retirar una quantitat superior al saldo del compte.

Aquest mètode transfereix diners d'un compte a un altre.

  • Retorna true si la transferència s'ha efectuat correctament.
  • No es pot transferir una quantitat negativa o zero.
  • No es pot transferir una quantitat superior al saldo del compte.
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.