package sklep;

import static org.assertj.core.api.Assertions.*;

import static sklep.ConditionTowarNiedrogi.niedrogi;
import static sklep.AsercjeKatalogu.assertThat;


import java.math.BigDecimal;
import java.util.Collection;

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

public class KatalogTest_Rozszerzenia {
	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("80.00");
	private static final String ODKURZACZ = "Odkurzacz";

	private static final BigDecimal ZMIANA = new BigDecimal("0.10");
	private static final BigDecimal ZMIENIONA_CENA_PRALKI = new BigDecimal("880.00");
	private static final BigDecimal ZMIENIONA_CENA_ODKURZACZA = new BigDecimal("88.00");

	private static final String NIEZNANY = "Nieznany";

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

		katalog.dodaj(pralka);
		katalog.dodaj(odkurzacz);
	}

	
	@Test
	public void testNiedrogi() {
		assertThat(odkurzacz).is(niedrogi());
	}
	
	
	@Test
	public void testUsun2() throws NieznanyTowar {
		katalog.usunTowar(ODKURZACZ);
		assertThat(katalog)
			.zawieraTowar(PRALKA)
			.nieZawieraTowaru(ODKURZACZ);
	}
}



