
package agilpizza.modelo;

import static junit.framework.Assert.*;

import java.util.ArrayList;
import java.util.List;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

import agilpizza.modelo.Categoria;

public class CategoriaTest {
	private static Categoria categoria;
	
    @BeforeClass
    public static void setUp () throws Exception {
    	List<Ingrediente> ingredientes = new ArrayList<Ingrediente>();
    	ingredientes.add(new Ingrediente("Muzzarela"));
    	ingredientes.add(new Ingrediente("Gorgonzola"));
    	categoria = new Categoria("MinhaCategoria", ingredientes);
    }

    @AfterClass
    public static void tearDown () throws Exception {

    }

    @Test
    public void testeCategoriaPossuiNome () throws Exception {
        String nomeDeQueijo = "Queijos";
        Categoria categoria = new Categoria(nomeDeQueijo, null);
        assertEquals("Categoria deve ter nome especificado.", nomeDeQueijo,
                categoria.getNome());
        assertNull("categoria testada não tem ingredientes", categoria.getIngredientes());
    }

    @Test
    public void testeCategoriaPreco () throws Exception {

        String nomeDeQueijo = "Queijos";
        Categoria categoria = new Categoria(nomeDeQueijo, null);
        categoria.setPreco(3.0);
        assertEquals("Categoria deve ter preco especificado.", 3.0,
                categoria.getPreco());
        
    }
    
    @Test
    public void buscaIngredienteExistente() throws Exception {
        assertNotNull("Categoria deveria ter achado Muzzarela", categoria.buscaIngrediente("Muzzarela"));
    }
    
    @Test
    public void buscaIngredienteAusente() throws Exception {
        assertNull("Categoria não deveria ter achado Catupiry", categoria.buscaIngrediente("Catupiry"));
    }
}
