From 887a936791bb6739fb8da37b3f3bd3b9892580cf Mon Sep 17 00:00:00 2001 From: swayfarer <@dkamensky@licei10.ru> Date: Wed, 28 May 2025 23:19:32 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weather/city/CityByIpResolverTest.java | 2 +- .../city/IpProviderCLISelectorTest.java | 28 +++++++++++++++++++ .../weather/city/IpProviderRegistryTest.java | 20 +++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 src/test/java/ru/dima/weather/city/IpProviderCLISelectorTest.java create mode 100644 src/test/java/ru/dima/weather/city/IpProviderRegistryTest.java diff --git a/src/test/java/ru/dima/weather/city/CityByIpResolverTest.java b/src/test/java/ru/dima/weather/city/CityByIpResolverTest.java index 067e6b7..6a2dc5f 100644 --- a/src/test/java/ru/dima/weather/city/CityByIpResolverTest.java +++ b/src/test/java/ru/dima/weather/city/CityByIpResolverTest.java @@ -13,7 +13,7 @@ class CityByIpResolverTest { @Test void mustReturnPlaintextCityFromIp() { var mockHttpRequester = Mockito.mock(HttpRequester.class); - var cityByIpResolver = new CityByIpResolver(mockHttpRequester); + var cityByIpResolver = new IpInfoService(mockHttpRequester); var randomCityName = UUID.randomUUID().toString(); Mockito.when(mockHttpRequester.getString(Mockito.any())).thenReturn(randomCityName); diff --git a/src/test/java/ru/dima/weather/city/IpProviderCLISelectorTest.java b/src/test/java/ru/dima/weather/city/IpProviderCLISelectorTest.java new file mode 100644 index 0000000..a597093 --- /dev/null +++ b/src/test/java/ru/dima/weather/city/IpProviderCLISelectorTest.java @@ -0,0 +1,28 @@ +package ru.dima.weather.city; + +import org.junit.jupiter.api.Test; +import ru.dima.weather.cli.CLIInputReader; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class IpProviderCLISelectorTest { + @Test + void testSelectIpProviderFromCLI(){ + CLIInputReader cliInputReader = new CLIInputReader(System.in); + when(cliInputReader.readInteger()).thenReturn(1); + + IpProvider ipProvider1 = mock(); + when(ipProvider1.getName()).thenReturn("ubuy"); + + List ipProviders = new ArrayList<>(); + ipProviders.add(ipProvider1); + + IpProviderCLISelector ipProviderCLISelector = new IpProviderCLISelector(cliInputReader, ipProviders); + assertEquals("ubuy", ipProviderCLISelector.selectIpProviderFromCLI()); + } +} diff --git a/src/test/java/ru/dima/weather/city/IpProviderRegistryTest.java b/src/test/java/ru/dima/weather/city/IpProviderRegistryTest.java new file mode 100644 index 0000000..a250e26 --- /dev/null +++ b/src/test/java/ru/dima/weather/city/IpProviderRegistryTest.java @@ -0,0 +1,20 @@ +package ru.dima.weather.city; + +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class IpProviderRegistryTest { + @Test + void testRegisterWeatherProvider() { + IpProvider ipProvider = mock(IpProvider.class); + IpProviderRegistry ipProviderRegistry = new IpProviderRegistry(); + List registeredProviders = ipProviderRegistry.registerWeatherProvider(ipProvider); + assertEquals(1, registeredProviders.size()); + } +}