package sklep.model;

import static org.junit.Assert.*;

import java.math.BigDecimal;

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

public class TowarTest {
	private static final BigDecimal VAT = new BigDecimal("0.23");
	private static final BigDecimal ZMIANA = new BigDecimal("0.10");
	private static final BigDecimal CENA_NETTO_PRALKI = new BigDecimal("100.00");
	private static final BigDecimal CENA_BRUTTO_PRALKI = new BigDecimal("123.00");
	private static final BigDecimal ZMIENIONA_CENA_PRALKI = new BigDecimal("110.00");
	private static final String PRALKA = "Pralka";

	private Towar towar;

	@Before
	public void setUp() throws Exception {
		towar = new Towar(PRALKA, CENA_NETTO_PRALKI, VAT);
	}

	@Test
	public void testKonstruktorIGettery() {
		assertEquals(PRALKA, towar.getNazwa());
		assertEquals(CENA_NETTO_PRALKI, towar.getCenaNetto());
		assertEquals(VAT, towar.getVat());
	}

	@Test
	public void testCenaBrutto() {
		BigDecimal wynik = towar.getCenaBrutto();
		//assertEquals("Oczekiwano wyniku równego "+CENA_BRUTTO_PRALKI+" a było "+wynik,
		//		0, CENA_BRUTTO_PRALKI.compareTo(wynik));
		assertEquals(CENA_BRUTTO_PRALKI, wynik);
	}
	
	@Test
	public void testOpis() {
		String wynik = towar.getOpis();
		assertEquals("Pralka: cena netto 100.00, cena brutto 123.00", wynik);

		//assertEquals(PRALKA + ": cena netto "+CENA_NETTO_PRALKI+", cena brutto "+CENA_BRUTTO_PRALKI, wynik);
	}
	
	@Test
	public void testZmienCene() {
		towar.zmienCene(ZMIANA);
		BigDecimal wynik = towar.getCenaNetto();
		assertEquals(ZMIENIONA_CENA_PRALKI, wynik);
	}
	
}
