feat: add tests for weatherdata fromjson and tojson
This commit is contained in:
parent
f73311b7a4
commit
61a459ce78
@ -43,7 +43,7 @@ public class WeatherData {
|
||||
}
|
||||
}
|
||||
|
||||
enum WindDirection {
|
||||
public enum WindDirection {
|
||||
N("🡩"),
|
||||
NE("🡭"),
|
||||
E("🡪"),
|
||||
@ -197,7 +197,6 @@ public class WeatherData {
|
||||
jsonObject.put("condition", condition.toString());
|
||||
jsonObject.put("windSpeed", windSpeed);
|
||||
jsonObject.put("windDirectionAngle", windDirectionAngle);
|
||||
jsonObject.put("windDirection", windDirection.toString());
|
||||
|
||||
return jsonObject;
|
||||
}
|
||||
@ -208,7 +207,7 @@ public class WeatherData {
|
||||
float temp = data.getFloat("temp");
|
||||
float windSpeed = data.getFloat("windSpeed");
|
||||
float windDirectionAngle = data.getFloat("windDirectionAngle");
|
||||
Condition condition = Condition.fromString(data.getString("windDirection"));
|
||||
Condition condition = Condition.fromString(data.getString("condition"));
|
||||
|
||||
return new WeatherData(city, date, temp, windSpeed, windDirectionAngle, condition);
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package eirb.pg203.weather.data;
|
||||
|
||||
import eirb.pg203.weather.utils.City;
|
||||
|
||||
import org.json.JSONObject;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@ -9,6 +11,8 @@ import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.EnumSource;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@ -106,4 +110,28 @@ public class WeatherDataTest {
|
||||
weatherData.setWindDirectionAngle(windDirection);
|
||||
Assertions.assertEquals(expectedWindDirection, weatherData.getWindDirection());
|
||||
}
|
||||
|
||||
@Test
|
||||
void toJSONTest() {
|
||||
Instant now = Instant.now();
|
||||
float temp = 0f;
|
||||
WeatherData.Condition condition = WeatherData.Condition.SUNNY;
|
||||
float windSpeed = 0f;
|
||||
float windDirectionAngle = 0f;
|
||||
WeatherData weatherData = new WeatherData(new City("aCity"), now, temp, windSpeed, windDirectionAngle, condition);
|
||||
JSONObject equalsTo = new JSONObject();
|
||||
|
||||
equalsTo.put("city", "aCity");
|
||||
equalsTo.put("date", now.toEpochMilli());
|
||||
equalsTo.put("temp", temp);
|
||||
equalsTo.put("condition", condition.toString());
|
||||
equalsTo.put("windSpeed", windSpeed);
|
||||
equalsTo.put("windDirectionAngle", windDirectionAngle);
|
||||
|
||||
Assertions.assertEquals(equalsTo.toString(), weatherData.toJSON().toString());
|
||||
|
||||
WeatherData weatherData2 = WeatherData.fromJSON(equalsTo);
|
||||
|
||||
Assertions.assertEquals(weatherData.toString(), weatherData2.toString());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user