package sklep.model;

import static org.junit.Assert.*;

import java.math.BigDecimal;

import org.junit.Before;
import org.junit.Test;

import sklep.exn.NieznanyTowar;

public class KatalogPustyTest {
	private static final BigDecimal VAT = new BigDecimal("0.23");
	private static final BigDecimal CENA_NETTO_PRALKI = new BigDecimal("800.00");
	private static final String PRALKA = "Pralka";

	private static final BigDecimal CENA_NETTO_ODKURZACZA = new BigDecimal("200.00");
	private static final String ODKURZACZ = "Odkurzacz";

	Katalog katalog;
	Towar pralka, odkurzacz;

	@Before
	public void setUp() throws Exception {
		pralka = new Towar(PRALKA, CENA_NETTO_PRALKI, VAT);
		odkurzacz = new Towar(ODKURZACZ, CENA_NETTO_ODKURZACZA, VAT);
		katalog = new Katalog();
	}

	@Test
	public void testDodajJedenTowar() throws NieznanyTowar {
		katalog.dodajTowar(pralka);
		Towar wynik = katalog.pobierzTowar(PRALKA);
		assertEquals(pralka, wynik);
	}

	@Test
	public void testDodajDwaTowary() throws NieznanyTowar {
		katalog.dodajTowar(pralka);
		katalog.dodajTowar(odkurzacz);
		Towar wynikP = katalog.pobierzTowar(PRALKA);
		Towar wynikO = katalog.pobierzTowar(ODKURZACZ);
		assertEquals(pralka, wynikP);
		assertEquals(odkurzacz, wynikO);
	}
	
	@Test(expected=NieznanyTowar.class)
	public void testPobierzPusty() throws NieznanyTowar {
		katalog.pobierzTowar(PRALKA);
	}


}
