Crear la funcionalidad que permita realizar transferencias entre cuentas. Esta funcionalidad debe pertenecer a la clase Account.
Criterios de aceptación:
El nombre que llevará el método será transfer y recibirá 2 argumento: la cuenta de destino (de tipo Account) y el monto a transferir (tipo double)
Validar que el monto a transferir sea mayor o igual a $100.
Validar que el objeto cuenta de destino que se pasa como argumento no sea nulo, en caso de serlo no continuar con la ejecución.
La cuenta que realiza la transferencia debe tener el balance suficiente para poder realizar la operación
Pasadas las validaciones, restar el monto de la cuenta que solicita la transferencia y sumar el monto al balance de la cuenta destino.
Hacer uso de los métodos getBalance() y setBalance() para obtener el balance de ambas cuentas y establecer el nuevo balance en ambas cuentas.
Crear dos objetos de tipo Movement (uno para la cuenta de origen y otro para la cuenta destino) y almacenar cada movimiento en la lista de movimientos de cada cuenta haciendo uso del método recordMovement() que recibe el movimiento a registrar. Tener en cuenta que se hace un llamado a dicho método por cuenta: un llamado de la cuenta origen y otro de la cuenta destino.
Se debe retornar el movimiento que detalla la operación realizada. Éste debe ser de la cuenta que realiza la transferencia (no la de origen).
Notas
Hacer uso de la palabra reservada this que permite hacer uso de los métodos y atributos de la clase que solicita la acción.
Se debe documentar el código detallando brevemente la acción que se está realizando.
La ejecución de esta funcionalidad depende de otras, por ejemplo setBalance() o recordMovement(). Si tales funcionalidades no están desarrolladas aún aplicar un comentario de la siguiente manera:
// todo: esperar a funcionalidad recordMovement()
Esto permite tener un control de las tareas que faltan realizar para completar la funcionalidad. Una vez que la o las funcionalidades están desarrolladas y en uso, eliminar el comentario de tipo TODO.
Crear la funcionalidad que permita realizar transferencias entre cuentas. Esta funcionalidad debe pertenecer a la clase Account.
Criterios de aceptación:
getBalance()
ysetBalance()
para obtener el balance de ambas cuentas y establecer el nuevo balance en ambas cuentas.recordMovement()
que recibe el movimiento a registrar. Tener en cuenta que se hace un llamado a dicho método por cuenta: un llamado de la cuenta origen y otro de la cuenta destino.Notas Hacer uso de la palabra reservada this que permite hacer uso de los métodos y atributos de la clase que solicita la acción.
Se debe documentar el código detallando brevemente la acción que se está realizando.
La ejecución de esta funcionalidad depende de otras, por ejemplo
setBalance()
orecordMovement()
. Si tales funcionalidades no están desarrolladas aún aplicar un comentario de la siguiente manera:// todo: esperar a funcionalidad recordMovement()
Esto permite tener un control de las tareas que faltan realizar para completar la funcionalidad. Una vez que la o las funcionalidades están desarrolladas y en uso, eliminar el comentario de tipo TODO.Consultar al equipo por cualquier inconveniente.