/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package src;

import java.util.ArrayList;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;


public class TransferenciaTest {
    ArrayList<Cuentas> AP=new ArrayList<Cuentas>();
    Cuentas p1=new CuentaCorriente();
    Cuentas p2=new CuentaCorriente();
    Sucursal s;
    Cuentas c = new Cuentas();
    Cuentas c1 = new Cuentas();
    public TransferenciaTest() {
        p1.setnumero_cuenta("20984002161000015263");
        p1.setNombre_cliente("Julian Martinez Morillas");
        p1.setSaldo_cuenta(300);
        p1.setId_cliente("25361477A");

        p2.setnumero_cuenta("20984002181000015264");
        p2.setNombre_cliente("Sebastian Amaro Hinojosa");
        p2.setSaldo_cuenta(300);
        p2.setId_cliente("25361412B");

    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    /**
     * Test of TransferenciaInterna method, of class Transferencia.
     */
    @Test
    public void testTransferenciaInterna() {
        System.out.println("TransferenciaInterna");
        Sucursal s = new Sucursal();
        String ctaorigen = "20984002161000015263";
        String ctadestino = "20984002181000015264";
        String Importe = "10";
        String concepto = "";
        Transferencia instance = new Transferencia();
        
        AP.add(p1);
        AP.add(p2);
        s.setCuentas(AP);
        float expResult = 290;
        float expResult1 = 310;
        c=s.devuelveCuentas(ctaorigen);
        c1=s.devuelveCuentas(ctadestino);
        instance.TransferenciaInterna(s, ctaorigen, ctadestino, Importe, concepto);
        assertTrue(expResult==c.getSaldo_cuenta());
        assertTrue(expResult1==c1.getSaldo_cuenta());
    }

    /**
     * Test of TransferenciaExterna method, of class Transferencia.
     */
    @Test
    public void testTransferenciaExterna() {
        System.out.println("TransferenciaExterna");
        String ctaorigen = "20984002161000015263";
        String ctadestino = "20984002181000015111";
        String Importe = "10";
        String concepto = "";
        Transferencia instance = new Transferencia();

        AP.add(p1);
        AP.add(p2);
        s.setCuentas(AP);

        float expResult = 290;

        c=s.devuelveCuentas(ctaorigen);
        instance.TransferenciaInterna(s, ctaorigen, ctadestino, Importe, concepto);
    }

    @Test
    public void testTransferenciaExternaCuentaOrigenErronea()
    {
        System.out.println("TransferenciaExterna");
        String ctaorigen =  "AAAAAAAAAAAAAAAAAAAA";
        String ctadestino = "20984002181000015111";
        String Importe = "10";
        String concepto = "";
        Transferencia instance = new Transferencia();

        AP.add(p1);
        AP.add(p2);
        s.setCuentas(AP);
        float expResult = 290;
        c=s.devuelveCuentas(ctaorigen);
        instance.TransferenciaInterna(s, ctaorigen, ctadestino, Importe, concepto);
    }
}