Commit 964cb424 by patryk

Testy AssertJ

parent 0553ade9
......@@ -34,15 +34,21 @@
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.json</artifactId>
<version>2.0.1</version>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.json</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.2</version>
<scope>test</scope>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.25.3</version>
<scope>test</scope>
</dependency>
</dependencies>
......
package waluty;
import static org.assertj.core.api.Assertions.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Optional;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class TabelaTestAssertJ {
private static final String PRZYKLADOWY_NUMER = "123/A/NBP/2022";
private static final LocalDate PRZYKLADOWA_DATA = LocalDate.of(2022, 9, 30);
private TabelaWalut tabela;
@BeforeEach
void setUp() {
tabela = new TabelaWalut(PRZYKLADOWY_NUMER, PRZYKLADOWA_DATA.toString());
}
@Test
void testTabela() {
assertThat(tabela.getNo()).isEqualTo(PRZYKLADOWY_NUMER);
assertThat(tabela.getEffectiveDate()).isEqualTo(PRZYKLADOWA_DATA);
assertThat(tabela.getRates()).isEmpty();
}
@Test
void testToString() {
assertThat(tabela).asString().isEqualTo("Tabela nr 123/A/NBP/2022 z dnia 2022-09-30, 0 walut");
}
@Test
void testDodajWalute() {
Waluta dolar = new Waluta("USD", "dolar", new BigDecimal("5.0000"));
Waluta euro = new Waluta("EUR", "euro", new BigDecimal("3.0000"));
tabela.addRate(dolar);
tabela.addRate(euro);
assertThat(tabela.getRates())
.hasSize(2)
.containsExactlyInAnyOrder(dolar, euro);
}
@Test
void testWyszukaj() {
Waluta dolar = new Waluta("USD", "dolar", new BigDecimal("5.0000"));
Waluta euro = new Waluta("EUR", "euro", new BigDecimal("3.0000"));
tabela.addRate(dolar);
tabela.addRate(euro);
Optional<Waluta> znaleziona = tabela.findByCode("EUR");
assertThat(znaleziona)
.isPresent()
.contains(euro);
}
@Test
void testCodes() {
Waluta dolar = new Waluta("USD", "dolar", new BigDecimal("5.0000"));
Waluta euro = new Waluta("EUR", "euro", new BigDecimal("3.0000"));
tabela.addRate(dolar);
tabela.addRate(euro);
assertThat(tabela.codes())
.hasSize(2)
.containsExactlyInAnyOrder("USD", "EUR");
}
}
package waluty;
import static org.assertj.core.api.Assertions.*;
import java.math.BigDecimal;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class WalutaTestAssertJ {
private Waluta dolar;
private Waluta euro;
private Waluta peso;
@BeforeEach
void setUp() {
dolar = new Waluta("USD", "dolar", new BigDecimal("5.0000"));
euro = new Waluta("EUR", "euro", new BigDecimal("3.0000"));
peso = new Waluta("MXN", "peso", new BigDecimal("0.3333"));
}
@Test
void testWaluta() {
// asercje w stylu JUnit:
// assertEquals("USD", dolar.getKod());
// asersje w stylu AssertJ:
assertThat(dolar.getCode()).isEqualTo("USD");
// tylko prezentacja ciekawych asercji (akurat tutaj dla String)
assertThat(dolar.getCode())
.isNotNull()
.hasSize(3)
.isUpperCase()
.startsWith("U")
.endsWith("D");
}
@Test
void testToString() {
// assertEquals("USD (dolar): 5.0000", dolar.toString());
assertThat(dolar.toString()).isEqualTo("USD (dolar): 5.0000");
assertThat(euro.toString()).isEqualTo("EUR (euro): 3.0000");
}
@Test
void testPrzeliczNaZlote() {
BigDecimal sto = new BigDecimal("100.00");
BigDecimal wynik = dolar.przeliczNaZlote(sto);
assertThat(wynik).isEqualTo("500.00");
}
@Test
void testPrzeliczNaZloteZaokr() {
BigDecimal dwa = new BigDecimal("2.00");
BigDecimal wynik = peso.przeliczNaZlote(dwa);
assertThat(wynik).isEqualTo("0.67");
}
@Test
void testPrzeliczNaWalute() {
BigDecimal piescset = new BigDecimal("500.00");
BigDecimal wynik = dolar.przeliczNaWalute(piescset);
assertThat(wynik).isEqualTo("100.00");
}
@Test
void testPrzeliczNaWaluteZaokr() {
BigDecimal tysiac = new BigDecimal("2000.00");
BigDecimal wynik = euro.przeliczNaWalute(tysiac);
assertThat(wynik).isEqualTo("666.67");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment