Bien, continuamos con la clase banco que se encarga de realizar la transacción, es decir, de transferir
un dinero de una cuenta a otra y lo vamos a probar.
Y también tiene una relación con las cuentas, una relación que podría ser incluso en ambos sentidos.
Bueno, vamos a ver a uno.
Nos vamos entonces a nuestro package principal en models alt inser lleba class banco.
Bien, lo primero, el atributo banco tiene un nombre.
Entonces private.
Los métodos que transmiten por acá.
Ok, bien, lo siguiente es el método transferir public void
de la cuenta Orijen hacia la cuenta destino donde se cuenta
y un monto que el tipo bit decimal maik decimal monto.
La implementación es super siempre pero pero primero vamos a realizar la prueba el test unitario y luego
implementamos este método control TAF.
Nos vamos a ir a cuenta texto.
Bajamos, ocultamos la pestaña Proyecto y comenzamos al inserto.
Un método texto, pudiesse, sé, test, transferir dinero, cuentas,
bajamos y comenzamos primero uno son 2 cuenta que vamos a utilizar la cuenta.
Origen y destino.
Así que vamos a crear dos instancias.
Ni cuenta.
Por ejemplo, yo Endou.
Con su saldo BIC décima.
Por ejemplo.
Dos mil quinientos al control B.
Creamos el objeto no se cuenta uno puede ser.
Cuenta uno listo y vamos a replicar con controlde.
Se acuerdan?
Control de replicamos cuenta dos en vez de Yondu.
No se podría hacer a Andrés con un monto de mil quinientos.
Punto 89 89.
Listo.
Bajamos y realizamos la prueba app y faltaría el banco.
Acepto importante.
Entonces banco, banco.
Banco Punto Set Nombre Banco del Estado Bajamos Banco punto transferir de la cuenta a origen a una cuenta
estilo, por ejemplo la cuenta origen base, la cuenta 2 de Andrés, es decir, Andrés va a transferir
a la cuenta de John, entonces cuenta dos.
La cuenta destinos sería la cuenta 1 y el monto.
Recuerden que es un bit decimal.
Vamos a transferir 500 y probamos con hacer equals hacer iguales.
Un valor esperado de lo mismo puede ser entero String.
Lo dejamos como trincan.
Primero vamos a probar la cuenta Orijen que la dos Andrés tiene mil 500 puntos 88 89.
Si le restamos 500 quedan 1000.
12000.
Punto 89 ochenta y nueve coma.
Cuenta dos.
Punto 7.
Salto punto.
Porque recuerden que tengo que devolver un string.
Esto bien y replicamos con controlde porque el final es muy parecido.
Solamente tengo que cambiar alguna cosa, cuenta.
1 En vez de contador y cuánto quería?
Cuenta uno, cuenta uno sería mil quinientos y supuestamente le estamos transfiriendo 500.
Le estamos sumando, debía quedar entre 1000.
Entonces le quitamos.
Treme Si todo esto se cumple, se afirma es verdad.
Entonces la prueba es correcta.
De lo contrario, bueno, falla.
Vamos a probar.
Recuerden que no tenemos implementado el método TRASFERIR.
Se fijan?
Lo tenemos sin implementar.
Por lo tanto va a fallar.
Después lo tengo que implementar y volver a probar.
Control Cheff F10.
Se fijan, espera mil, no acierto a que le reste 500, pero la actual en mil quinientos en la cuenta
1 respecto al equals 2 el hacer y el 2 no se muestra porque ella falló primero.
Por lo tanto, si falla el primero, falló todo el método.
Bien, cerramos.
Vamos a implementar.
No vamos a ir al banco.
Y super simple sería origen punto débito porque estamos transfiriendo.
Entonces no tienen que descontar monto destino, punto crédito porque estamos transfiriendo monto.
Entonces el primero retira, resta la cantidad a ser transferida de la cuenta Orijen, mientras que
crédito este de acá deposita la cantidad a la cuenta de Tino.
Está molesto.
Volvemos.
Control Tab cuenta texto y volvemos a levantar.
El método transferir dinero y lo pasa si fijan, está correcto.
Hoy pasó la prueba bien próxima, podríamos ser entre cuenta y banco.
Cómo se podrían también relacionar?
Cuenta podría tener o podría tras sociedad un banco mediante un atributo y un banco de tener muchas
cuentas corrientes.
Y eso se podría establecer como un atributo del tipo colección, del tipo listo.
Y también podríamos probar esas relaciones en ambos sentidos.
Por ejemplo, a ver, vamos a partir primero en banco por acá y vamos a tener otro atributo del tipo
listo.
Se fija, fijan una lista de cuenta y íbamos a importar con alt enter, lista de yeva útil, importante
que siempre sea de ya útil cuentas.
Bien.
Y los métodos transex?
Entonces bajamos por acá al insert yet eran Cetes de cuenta.
Entonces, qué cuentas?
Set cuentas?
Perfecto.
Pero podríamos agregar las cuentas con un método a uno, agregar cuenta uno, después agregar cuenta
dos y así.
Qué sería de la siguiente forma?
Debajo de set cuentas por acá el método add public void no devolver nada.
Solamente agrega una cuenta.
La lista a cuenta del tipo cuenta, cuenta.
Bajamos.
Se dio la lista.
Cuentas punto ab cuenta le pasamos la cuenta.
El número sube Stemple.
Agregamos la cuenta, pero acá solamente establecemos la relación entre banco y la cuenta.
Nada más vamos agregando cuenta uno a uno.
Otra forma es pasar la lista completa, el list o el array list directamente en cuentas.
Bien, ahí está mucho más completo.
Ahora nos vamos a ir a cuenta.
Control TAF por acá y al revés, cuenta.
Va a tener el atributo con el banco.
Pero cada cuenta corriente tiene asociado un solo banco.
No es una lista.
Se fijan una cuenta, un banco, un banco, muchas cuenta.
Esa sería la relación private banco banco y los métodos que transmiten.
Vamos a bajar por acá después de Salto.
Entonces acá tenemos saldo.
Bajamos al insert trans banco y tenemos la relación que bidireccional.
Pero en realidad todavía no está todo bien.
No está todo completo, porque faltaría, por ejemplo, en Zeth cuentas o en cuenta.
Perdón acá establecer la relación inversa, pero después vamos a ver.
Por ahora lo dejamos así y vamos a ir a probar.
No vamos a ir a cuenta texto por acá.
De hecho, vamos a tomar este mismo ejemplo de transferir dinero, cuentas para probar la relación.
Vamos a copiar este método completo.
Los seleccionamos.
Control CD y lo pegamos para acá.
Lo vamos a renombrar.
No sé.
Podría ser texto, relación, banco, cuentas.
Entonces vamos a quitar esto.
Relaciones o relación
Banco Cuentas.
Vamos dato do cuentas.
Acá tenemos el banco.
Te fijás entonces?
Bueno, lo primero banco punto a cuenta.
Cuenta 1 Control de cuenta 2.
Ahí establecemos una relación, pero solamente banco con cuenta.
Estamos agregando al banco 2 cuenta.
Acá tenemos el nombre.
Estamos probando esto que estaría bien y faltaría probar.
Vamos a probar la relación en ambos sentidos.
Primero un hacer y cual es que el banco tiene dos elementos, es decir, dos cuentas.
Dos nuestro valor esperado banco punto de cuentas punto seis porque tenemos el método 6.
Se fijan sería cumplir.
Dir.
Está correcto.
Entonces lo vamos a probar.
Levantamos.
Y vamos a ver.
Bueno, falló, por qué falló?
Porque a propósito, nos faltó implementar un tema importante si nos vamos a banco.
Acá no cuenta que listo, nunca se creó la instancia, se fijan el ArrayList, por lo tanto cuentas
en Nul y al ser nul va a lanzar un pulpo intercepto.
Entonces, para solucionar este problema tenemos que crear la instancia en el constructor de banco de
un ArrayList para que el atributo cuentas tenga una referencia y no Lancet de null pointer excepto por
ahora.
Lo dejamos así y continuamos la siguiente clase para que no sea tan extenso.
Nos vemos.