Laboratorium 2
Zadania do wykonania
-
Przygotuj prosty test jednostkowy z użyciem JUnit 5, który testuje metodę dodawania dwóch liczb całkowitych. Napisz metodę int add(int a, int b), która zwraca sumę dwóch liczb. Utwórz klasę testową z metodą oznaczoną @Test, która sprawdza poprawność działania metody add. Wykorzystaj asercję assertEquals do porównania oczekiwanego wyniku z wynikiem zwróconym przez metodę.
-
Napisz program w języku Java, który demonstruje użycie bloku try-catch-finally. Program powinien spróbować podzielić liczbę przez zero, co spowoduje ArithmeticException; przechwycić ten wyjątek i wyświetlić komunikat: "Błąd: próba dzielenia przez zero"; w bloku finally wyświetlić komunikat: "Operacja zakończona."
-
Przygotuj klasę DataProcessor, która przetwarza dane wejściowe z pliku tekstowego. Metody klasy powinny rzucać wyjątki kontrolowane w przypadku problemów z dostępem do pliku (np. IOException). Zaimplementuj własny wyjątek DataFormatException, który jest rzucany, gdy dane w pliku mają niepoprawny format. Napisz testy jednostkowe dla klasy DataProcessor z użyciem JUnit 5, uwzględniając testowanie sytuacji wyjątkowych (np. brak pliku, niepoprawny format danych). Skonfiguruj logowanie z użyciem SLF4J, tak aby wszystkie wyjątki były logowane na poziomie ERROR, informacje o poprawnym przetwarzaniu danych były logowane na poziomie INFO, a logi były zapisywane do konsoli z formatowaniem zawierającym czas, poziom logowania i wiadomość.
-
Napisz program w języku Java, który realizuje następujące wymagania: utwórz własne klasy wyjątków InvalidInputException i CalculationException, które dziedziczą odpowiednio po klasie Exception; zaimplementuj klasę ComplexCalculator, która wykonuje operacje matematyczne na liczbach zespolonych (dodawanie, odejmowanie, mnożenie, dzielenie); metody w klasie ComplexCalculator powinny rzucać odpowiednie wyjątki w sytuacjach błędnych, np. InvalidInputException przy niepoprawnych danych wejściowych lub CalculationException przy błędach obliczeń (np. dzielenie przez zero); napisz testy jednostkowe z użyciem JUnit 5 i Mockito dla klasy ComplexCalculator, pokrywające wszystkie przypadki użycia, w tym obsługę wyjątków; skonfiguruj logowanie z użyciem Log4j2, tak aby wszystkie zdarzenia były logowane do pliku app.log z formatowaniem zawierającym datę, poziom logowania, nazwę klasy i wiadomość, upewniając się, że wyjątki są logowane na poziomie ERROR.