Salta el contingut
 

Pràctica 4: Proves de Bank Account

Joan Puigcerver Ibáñez

j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Proves de Bank Account

Se'ns ha demanat crear una aplicació bancària per gestionar els comptes bancaris dels clients. La nostra tasca consistirà en programar la lògica de l'aplicació i comprovar que funciona correctament utilitzant proves unitàries

La metodologia d'implementació serà el Desenvolupament Guiat per Proves (Test Driven Development, TDD).

Consell

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

De moment es treballa amb baby steps, és a dir, que els canvis en cada iteració és mínima i només s'ha d'implementar el mínim perquè la prova passe.

No obstant això, no és necessari fer una prova per a la definició de la classe o els mètodes.

BankAccountTest

ud4.practices.bank

Crea la classe BankAccountTest per desenvolupar les proves unitàries de la classe BankAccount.

  • 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 la codificació de les proves.
  • Manteniu l'ordre de creació de les proves per veure el procés TDD seguit.
  • Si has d'esborrar una prova, no l'esborres, comenta-la.

BankAccount

ud4.practices.bank

La classe BankAccount representa un compte bancari.

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

Es poden crear comptes bancaris 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 de d'implementar les següents funcionalitats:

Retornen els valors de les propietats de la classe.

No cal implementar les proves per aquests mètodes.

Aquest mètode ingressa diners en el compte.

  • Retorna true si el ingrés s'ha efectuat correctament o false en cas contrari.
  • No 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.