package testowanie;

import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.Test;

class KontoTest {

	@Test
	void testConstructor() {
		Konto konto = new Konto(1234, 1000, "Ala Kowalska");
		assertEquals(1234, konto.getNumer());
		assertEquals(1000, konto.getSaldo());
		assertEquals("Ala Kowalska", konto.getWlasciciel());
	}
	
	// Test-Driven Development (TDD)
	// to taki sposób pracy (metodologia pracy), że
	// najpierw piszemy test, który nie działa ("fejluje")
	// a dopiero potem uzupełniamy implementację do momentu, aż test "zaskoczy"
	@Test
	void testToString() {
		Konto konto = new Konto(1234, 1000, "Ala Kowalska");
		assertEquals("Konto nr 1234, saldo 1000, wł. Ala Kowalska", konto.toString());
	}
	
	@Test
	void testWplata() {
		Konto konto = new Konto(1234, 1000, "Ala Kowalska");
		konto.wplata(300);
		assertEquals(1300, konto.getSaldo());
	}
	
	@Test
	void testWyplata() throws BrakSrodkow {
		Konto konto = new Konto(1234, 1000, "Ala Kowalska");
		konto.wyplata(400);
		assertEquals(600, konto.getSaldo());
	}

}
