/
khomec
/
homework5
Обзор
Документация
Войти
/
khomec
/
homework5
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/java/CityInfoTest.java
117 строк
4 KB
Aleksandr Martynets
home5
29 дек 2025, 19:20
29 дек 2025, 19:20
95554f5
Код
Авторство
О чём код?
import org.junit.jupiter.api.Test; import ru.edu.lesson6.CityInfo; import ru.edu.lesson6.GeoPosition; import static org.junit.jupiter.api.Assertions.*; /** * Test class for CityInfo */ public class CityInfoTest { private static final double DELTA = 0.000001; @Test void testConstructorAndGetters() { // Arrange GeoPosition position = new GeoPosition("55", "37"); // Act CityInfo city = new CityInfo("TestCity", position); // Assert assertEquals("TestCity", city.getName()); assertEquals(position, city.getPosition()); assertEquals(position.getLatitude(), city.getLatitude(), DELTA); assertEquals(position.getLongitude(), city.getLongitude(), DELTA); assertEquals(position.getLatitudeInDegrees(), city.getLatitudeInDegrees(), DELTA); assertEquals(position.getLongitudeInDegrees(), city.getLongitudeInDegrees(), DELTA); } @Test void testToString() { // Arrange GeoPosition position = new GeoPosition("55(45'07'')", "37(37'03'')"); CityInfo city = new CityInfo("Moscow", position); // Act String result = city.toString(); // Assert assertNotNull(result); assertTrue(result.contains("CityInfo")); assertTrue(result.contains("name='Moscow'")); assertTrue(result.contains("latitude=55.751944°")); assertTrue(result.contains("longitude=37.617500°")); } @Test void testToStringWithSimpleCoordinates() { // Arrange GeoPosition position = new GeoPosition("60", "30"); CityInfo city = new CityInfo("SimpleCity", position); // Act String result = city.toString(); // Assert assertTrue(result.contains("name='SimpleCity'")); assertTrue(result.contains("latitude=60.000000°")); assertTrue(result.contains("longitude=30.000000°")); } @Test void testCityWithEmptyName() { // Arrange GeoPosition position = new GeoPosition("0", "0"); // Act CityInfo city = new CityInfo("", position); // Assert assertEquals("", city.getName()); assertEquals(position, city.getPosition()); } @Test void testCityWithSpecialCharactersInName() { // Arrange GeoPosition position = new GeoPosition("48", "2"); // Act CityInfo city = new CityInfo("Paris, France", position); // Assert assertEquals("Paris, France", city.getName()); assertTrue(city.toString().contains("Paris, France")); } @Test void testMultipleCityInstances() { // Arrange & Act GeoPosition moscowPos = new GeoPosition("55(45'07'')", "37(37'03'')"); CityInfo moscow = new CityInfo("Moscow", moscowPos); GeoPosition londonPos = new GeoPosition("51(30'26'')", "0(07'39'')"); CityInfo london = new CityInfo("London", londonPos); // Assert assertEquals("Moscow", moscow.getName()); assertEquals("London", london.getName()); assertNotEquals(moscow.getPosition(), london.getPosition()); assertNotEquals(moscow.toString(), london.toString()); } @Test void testPositionReferenceEquality() { // Arrange GeoPosition position = new GeoPosition("40", "74"); CityInfo city1 = new CityInfo("New York", position); CityInfo city2 = new CityInfo("NYC", position); // Act & Assert assertSame(city1.getPosition(), city2.getPosition()); // Один и тот же объект позиции assertEquals(city1.getLatitude(), city2.getLatitude(), DELTA); assertEquals(city1.getLongitude(), city2.getLongitude(), DELTA); } }