Починил тесты
This commit is contained in:
parent
6a77945c6a
commit
dc572de71f
@ -4,8 +4,18 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MultiDaysWeatherInfo {
|
||||
List<WeatherInfo> perDayWeather = new ArrayList<>();
|
||||
private List<WeatherInfo> perDayWeather;
|
||||
|
||||
public MultiDaysWeatherInfo() {
|
||||
this(new ArrayList<>());
|
||||
}
|
||||
|
||||
public MultiDaysWeatherInfo(List<WeatherInfo> perDayWeather) {
|
||||
this.perDayWeather = perDayWeather;
|
||||
}
|
||||
public List<WeatherInfo> getPerDayWeather() {
|
||||
return perDayWeather;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MultiDaysWeatherInfo{" +
|
||||
|
@ -34,7 +34,7 @@ public class OpenWeatherMapWeatherProvider implements WeatherProvider {
|
||||
var forecast = weatherArray.getJSONObject(day);
|
||||
var mainData = forecast.getJSONObject("main");
|
||||
var temperature = mainData.getDouble("temp");
|
||||
resultWeeklyWeather.perDayWeather.add(new WeatherInfo(temperature));
|
||||
resultWeeklyWeather.getPerDayWeather().add(new WeatherInfo(temperature));
|
||||
}
|
||||
|
||||
return resultWeeklyWeather;
|
||||
|
@ -25,31 +25,33 @@ public class OpenWeatherMapWeatherProviderTest {
|
||||
assertEquals("open-weather-map", OpenWeatherMapWeatherProvider.getName(), "open-weather-map");
|
||||
}
|
||||
@Test
|
||||
void TestMultiDaysWeatherInfo_T() {
|
||||
void testMultiDaysWeatherInfo_T() {
|
||||
HttpRequester httpRequester = mock(HttpRequester.class);
|
||||
String ft = "{\"list\": [{\"main\": {\"temp\": 22.5}}, {\"main\": {\"temp\": 19.85}}, {\"main\": {\"temp\": 20.97}}, {\"main\": {\"temp\": 22.19}}, {\"main\": {\"temp\": 25.41}}, {\"main\": {\"temp\": 26.21}}, {\"main\": {\"temp\": 22.53}}]}";
|
||||
|
||||
|
||||
String ft = "{ \"list\": [ " +
|
||||
"{ \"main\": { \"temp\": 15.0 } }, " +
|
||||
"{ \"main\": { \"temp\": 16.0 } }, " +
|
||||
"{ \"main\": { \"temp\": 17.0 } }, " +
|
||||
"{ \"main\": { \"temp\": 18.0 } }, " +
|
||||
"{ \"main\": { \"temp\": 19.0 } }, " +
|
||||
"{ \"main\": { \"temp\": 20.0 } }, " +
|
||||
"{ \"main\": { \"temp\": 21.0 } } " +
|
||||
"] }";
|
||||
when(httpRequester.getString(anyString())).thenReturn(ft);
|
||||
|
||||
OpenWeatherMapWeatherProvider openWeatherMapWeatherProvider = new OpenWeatherMapWeatherProvider(httpRequester , "29ed5ca47c3d0c32385b18f1e82e522f" );
|
||||
var weatherInfo = openWeatherMapWeatherProvider.getWeeklyWeatherInCity("Москва");
|
||||
assertEquals("MultiDaysWeatherInfo{perDayWeather=[WeatherInfo{temperature=22.5}, WeatherInfo{temperature=19.85}, WeatherInfo{temperature=20.97}, WeatherInfo{temperature=22.19}, WeatherInfo{temperature=25.41}, WeatherInfo{temperature=26.21}, WeatherInfo{temperature=22.53}]}",weatherInfo,"s");
|
||||
OpenWeatherMapWeatherProvider openWeatherMapWeatherProvider = new OpenWeatherMapWeatherProvider(httpRequester, "29ed5ca47c3d0c32385b18f1e82e522f");
|
||||
MultiDaysWeatherInfo weatherInfo = openWeatherMapWeatherProvider.getWeeklyWeatherInCity("Москва");
|
||||
assertEquals(7, weatherInfo.getPerDayWeather().size());
|
||||
assertEquals(15.0, weatherInfo.getPerDayWeather().get(0).temperature);
|
||||
assertEquals(16.0, weatherInfo.getPerDayWeather().get(1).temperature);
|
||||
assertEquals(17.0, weatherInfo.getPerDayWeather().get(2).temperature);
|
||||
assertEquals(18.0, weatherInfo.getPerDayWeather().get(3).temperature);
|
||||
assertEquals(19.0, weatherInfo.getPerDayWeather().get(4).temperature);
|
||||
assertEquals(20.0, weatherInfo.getPerDayWeather().get(5).temperature);
|
||||
assertEquals(21.0, weatherInfo.getPerDayWeather().get(6).temperature);
|
||||
|
||||
}
|
||||
@Test
|
||||
void TestMultiDaysWeatherInfo_F() {
|
||||
HttpRequester httpRequester = mock(HttpRequester.class);
|
||||
String ffd = "{\"list\": [{\"main\": {\"temp\": 22.5}}, {\"main\": {\"temp\": 19.85}}, {\"main\": {\"temp\": 20.97}}, {\"main\": {\"temp\": 22.19}}, {\"main\": {\"temp\": 25.41}}, {\"main\": {\"temp\": 26.21}}, {\"main\": {\"temp\": 22.53}}]}";
|
||||
|
||||
|
||||
when(httpRequester.getString(anyString())).thenReturn(ffd);
|
||||
}
|
||||
|
||||
OpenWeatherMapWeatherProvider openWeatherMapWeatherProvider = new OpenWeatherMapWeatherProvider(httpRequester , "29ed5ca47c3d0c32385b18f1e82e522f" );
|
||||
Random random = new Random();
|
||||
var ran = random.toString();
|
||||
var weatherInfo = openWeatherMapWeatherProvider.getWeeklyWeatherInCity(ran);
|
||||
assertEquals("MultiDaysWeatherInfo{perDayWeather=[WeatherInfo{temperature=22.5}, WeatherInfo{temperature=19.85}, WeatherInfo{temperature=20.97}, WeatherInfo{temperature=22.19}, WeatherInfo{temperature=25.41}, WeatherInfo{temperature=26.21}, WeatherInfo{temperature=22.53}]}",weatherInfo,"s");
|
||||
|
||||
}
|
||||
}
|
@ -21,29 +21,39 @@ public class WeatherProviderCLISelectorTest {
|
||||
|
||||
@Test
|
||||
void testSelectWeatherProviderFromCLI_T(){
|
||||
WeatherProviderRegistry weatherProviderRegistry = mock(WeatherProviderRegistry.class);
|
||||
WeatherProvider provider = Mockito.mock("open-weather-map");
|
||||
WeatherProviderRegistry weatherProviderRegistry = mock(WeatherProviderRegistry.class);
|
||||
WeatherProvider provider = mock(WeatherProvider.class);
|
||||
when(provider.getName()).thenReturn("open-weather-map");
|
||||
List<WeatherProvider> providers = Arrays.asList(provider);
|
||||
when(weatherProviderRegistry.getAllWeatherProviders()).thenReturn(providers);
|
||||
var j = "1";
|
||||
InputStream inputStream = new ByteArrayInputStream(j.getBytes());
|
||||
when(weatherProviderRegistry.getAllWeatherProviders()).thenReturn(providers);
|
||||
|
||||
String iаt = "1";
|
||||
InputStream inputStream = new ByteArrayInputStream(iаt.getBytes());
|
||||
CLIInputReader inputReader = new CLIInputReader(inputStream);
|
||||
|
||||
WeatherProviderCLISelector t = new WeatherProviderCLISelector(inputReader, weatherProviderRegistry);
|
||||
assertEquals("open-weather-map" , t.selectWeatherProviderFromCLI());
|
||||
}
|
||||
WeatherProviderCLISelector selector = new WeatherProviderCLISelector(inputReader, weatherProviderRegistry);
|
||||
WeatherProvider weatherProvider = selector.selectWeatherProviderFromCLI();
|
||||
|
||||
assertEquals(provider, weatherProvider);
|
||||
|
||||
}
|
||||
@Test
|
||||
void testSelectWeatherProviderFromCLI_F(){
|
||||
WeatherProviderRegistry weatherProviderRegistry = mock(WeatherProviderRegistry.class);
|
||||
WeatherProvider provider = Mockito.mock("open-weather-map");
|
||||
WeatherProvider provider = mock(WeatherProvider.class);
|
||||
when(provider.getName()).thenReturn("open-weather-map");
|
||||
List<WeatherProvider> providers = Arrays.asList(provider);
|
||||
when(weatherProviderRegistry.getAllWeatherProviders()).thenReturn(providers);
|
||||
var j = "GYg";
|
||||
InputStream inputStream = new ByteArrayInputStream(j.getBytes());
|
||||
|
||||
String iat = "31\n1";
|
||||
InputStream inputStream = new ByteArrayInputStream(iat.getBytes());
|
||||
CLIInputReader inputReader = new CLIInputReader(inputStream);
|
||||
|
||||
WeatherProviderCLISelector t = new WeatherProviderCLISelector(inputReader, weatherProviderRegistry);
|
||||
assertEquals("open-weather-map" , t.selectWeatherProviderFromCLI());
|
||||
WeatherProviderCLISelector selector = new WeatherProviderCLISelector(inputReader, weatherProviderRegistry);
|
||||
WeatherProvider weatherProvider = selector.selectWeatherProviderFromCLI();
|
||||
|
||||
assertEquals(provider, weatherProvider);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user