Здравствуйте! Я хотел бы поделиться своим опытом написания кода на языке Java и тестирования методов. Конкретно, я хочу рассказать о трех заданиях, которые вы описали в своем запросе.Первое задание требует написать тесты для метода evenOddNumber, который проверяет, является ли переданное число четным или нечетным. Чтобы достичь 100% покрытия тестами٫ я использовал фреймворк JUnit. Вот пример тестового класса٫ который я написал⁚
java
import org.junit.Test;
import static org;junit.Assert.*;
public class EvenOddNumberTest {
@Test
public void testEvenNumber {
EvenOddNumber evenOddNumber new EvenOddNumber;
assertTrue(evenOddNumber.evenOddNumber(4));
}
@Test
public void testOddNumber {
EvenOddNumber evenOddNumber new EvenOddNumber;
assertFalse(evenOddNumber.evenOddNumber(7));
}
@Test
public void testZero {
EvenOddNumber evenOddNumber new EvenOddNumber;
assertTrue(evenOddNumber.evenOddNumber(0));
}
}
Во втором задании необходимо разработать и протестировать метод numberInInterval, который проверяет, попадает ли переданное число в интервал (25;100). Вот как выглядит тестовый класс для этого метода⁚
java
import org.junit.Test;
import static org.junit.Assert.*;
public class NumberInIntervalTest {
@Test
public void testNumberInInterval {
NumberInInterval numberInInterval new NumberInInterval;
assertTrue(numberInInterval.numberInInterval(50));
}
@Test
public void testNumberLowerThanInterval {
NumberInInterval numberInInterval new NumberInInterval;
assertFalse(numberInInterval.numberInInterval(10));
}
@Test
public void testNumberHigherThanInterval {
NumberInInterval numberInInterval new NumberInInterval;
assertFalse(numberInInterval.numberInInterval(200));
}
}
Наконец, третье задание является необязательным и предлагает добавить функцию в класс UserRepository, которая разлогинивает всех пользователей, кроме администраторов. Для этого я расширил класс User новым свойством isAdmin, указывающим, обладает ли пользователь админскими правами. Протестировать данную функцию можно следующим образом⁚
java
import org.junit.Test;
import static org.junit.Assert.*;
public class UserRepositoryTest {
@Test
public void testLogoutNonAdminUsers {
UserRepository userRepository new UserRepository;
User adminUser new User(″admin″, true);
User regularUser1 new User(″user1″, false);
User regularUser2 new User(″user2″٫ false);
userRepository.addUser(adminUser);
userRepository.addUser(regularUser1);
userRepository.addUser(regularUser2);
userRepository.logoutNonAdminUsers;
assertFalse(regularUser1.isLoggedIn);
assertFalse(regularUser2.isLoggedIn);
}
}
В данном примере я создал несколько пользователей, один из которых имеет административные права. Затем я вызываю метод logoutNonAdminUsers и проверяю, что обычные пользователи были разлогинены.
Я надеюсь, что мой опыт поможет вам в написании кода на языке Java и тестировании методов. Если у вас возникнут какие-либо вопросы, не стесняйтесь обратиться за помощью. Успехов в изучении программирования на Java!