package br.ufpe.cin.banco;

import br.ufpe.cin.banco.Banco;
import br.ufpe.cin.banco.Conta;
import br.ufpe.cin.banco.Poupanca;

/**
 *  Altere a classe a classe Programa para testar a nova classe e 
 *  os novos metodos de Banco
 *
 */
public class Programa {

	public static void main(String[] args) {
		Banco banco = new Banco();

		banco.cadastrar(new Conta("123"));
		banco.cadastrar(new ContaEspecial("456"));
		banco.cadastrar(new Poupanca("789"));

		banco.creditar("123", 100);
		banco.creditar("456", 200);
		banco.creditar("789", 300);

		banco.debitar("123", 10);
		banco.debitar("456", 20);
		banco.debitar("789", 30);

		System.out.println("123: " + banco.getSaldo("123"));
		System.out.println("456: " + banco.getSaldo("456"));
		System.out.println("789: " + banco.getSaldo("789"));

		banco.renderBonus("456");
		banco.renderJuros("789");
		
		System.out.println("\nDepois de render juros e bonus...");
		System.out.println("123: " + banco.getSaldo("123"));
		System.out.println("456: " + banco.getSaldo("456"));
		System.out.println("789: " + banco.getSaldo("789"));


		banco.transferir("123", "789", 10);
		
		System.out.println("\nDepois de transferir...");
		System.out.println("123: " + banco.getSaldo("123"));
		System.out.println("456: " + banco.getSaldo("456"));
		System.out.println("789: " + banco.getSaldo("789"));

		System.out.println("\nDuvido que a proxima linha execute");
		banco.renderBonus("123");
	}

}
