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

package daial;

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.*;

/**
 *
 * @author acc_local
 */
public class ProductoTest {
    private Producto p1,p2;

    public ProductoTest() {
    }

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

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

    @Before
    public void setUp() {
        p1=new CtaCorriente();
        p1.setNumeroProducto("20984002161000015263");
        p1.setNombreCliente("Julian Martinez Morillas");

        p2=new CtaCorriente();
        p2.setNumeroProducto("20984002161000015264");
        p2.setNombreCliente("Maria Ortiz Sañudo");
    }

    @After
    public void tearDown() {
    }

    
    /**
     * Test of ingresar_enCta method, of class Producto.
     */
    @Test
    public void testIngresar_enCtaConSaldoPositivo() {
        p1.setSaldo(760);
        double saldoFinal = p1.getSaldo() + 500;
        p1.ingresar_enCta(500);
        double saldoResultante =p1.getSaldo();
        assertEquals(saldoFinal, saldoResultante,0);
    }

    @Test
    public void testIngresar_enCtaConSaldoNegativo() {
        p1.setSaldo(-36);
        double saldoFinal = p1.getSaldo() + 256;
        p1.ingresar_enCta(256);
        double saldoResultante =p1.getSaldo();
        assertEquals(saldoFinal, saldoResultante,0);
    }
    /**
     * Test of reintegrar_enCta method, of class Producto.
     */
    @Test
    public void testReintegrar_enCtaConSaldoPositivoSuficiente() {
        p1.setSaldo(1345);
        double cantidad=672;
        double saldoFinal = p1.getSaldo() - cantidad;
        p1.reintegrar_enCta(cantidad);
        double saldoResultante =p1.getSaldo();
        assertEquals(saldoFinal, saldoResultante,0);
    }
    @Test
    public void testReintegrar_enCtaConSaldoPositivoInsuficiente() {
        p1.setSaldo(512);
        double cantidad=672;
        double saldoFinal = p1.getSaldo() - cantidad;
        p1.reintegrar_enCta(cantidad);
        double saldoResultante =p1.getSaldo();
        assertEquals(saldoFinal, saldoResultante,0);
    }

    @Test
    public void testReintegrar_enCtaConSaldoNegativo() {
        p1.setSaldo(-39.1);
        double cantidad=72;
        double saldoFinal = p1.getSaldo() - cantidad;
        p1.reintegrar_enCta(cantidad);
        double saldoResultante =p1.getSaldo();
        assertEquals(saldoFinal, saldoResultante,0);
    }

    @Test
    public void testTransferencia() {
        p1.setSaldo(200);
        p2.setSaldo(300);
        double cantidad=100;
        double saldoFinalCuenta1 = p1.getSaldo() - cantidad;
        double saldoFinalCuenta2 = p2.getSaldo() + cantidad;
        p1.transferencia(cantidad,p2);
        double saldoResultanteCuenta1 =p1.getSaldo();
        double saldoResultanteCuenta2 =p2.getSaldo();
        assertEquals(saldoFinalCuenta1, saldoResultanteCuenta1,0);
        assertEquals(saldoFinalCuenta2, saldoResultanteCuenta2,0);
    }

}