Salta el contingut
 

Pràctica 4.1: Proves de Bank Account

Autor: Joan Puigcerver Ibáñez

Correu electrònic: 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

  • El codi ha d'estar en el package: ud5.practices.bank en la carpeta de proves.

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

  • El codi ha d'estar en el package: ud5.practices.bank en la carpeta del codi font.

La classe BankAccount representa un compte bancari. Aquesta classe s'ha de poder instanciar 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.

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.