ponyapi/client/java/src/test/java/us/xeserv/ponyapi/JsonDecoderTest.java

93 lines
3.1 KiB
Java

package us.xeserv.ponyapi;
import org.junit.Test;
import java.time.Instant;
import java.util.List;
import static org.junit.Assert.assertEquals;
public class JsonDecoderTest {
@Test
public void episodeTest() {
String json = "{\n"
+ "\t\"episode\":\n"
+ "\t{\n"
+ "\t\t\"name\": \"Friendship is Magic Part 1\",\n"
+ "\t\t\"air_date\": 1286735400,\n"
+ "\t\t\"season\": 1,\n"
+ "\t\t\"episode\": 1,\n"
+ "\t\t\"is_movie\": false\n"
+ "\t}\n"
+ "}";
Episode episode = JsonDecoder.fromJson(json);
assertEquals("Friendship is Magic Part 1", episode.name);
assertEquals(Instant.ofEpochSecond(1286735400), episode.airDate);
assertEquals(1, episode.season);
assertEquals(1, episode.episode);
assertEquals(false, episode.isMovie);
}
@Test
public void movieTest() {
String json = "{\n"
+ "\t\"episode\":\n"
+ "\t{\n"
+ "\t\t\"name\": \"Equestria Girls\",\n"
+ "\t\t\"air_date\": 1371340800,\n"
+ "\t\t\"season\": 99,\n"
+ "\t\t\"episode\": 1,\n"
+ "\t\t\"is_movie\": true\n"
+ "\t}\n"
+ "}";
Episode episode = JsonDecoder.fromJson(json);
assertEquals("Equestria Girls", episode.name);
assertEquals(Instant.ofEpochSecond(1371340800), episode.airDate);
assertEquals(99, episode.season);
assertEquals(1, episode.episode);
assertEquals(true, episode.isMovie);
}
@Test
public void multipleTest() {
String json = "{\n"
+ "\t\"episodes\": [\n"
+ "\t\t{\n"
+ "\t\t\t\"name\": \"Friendship is Magic Part 1\",\n"
+ "\t\t\t\"air_date\": 1286735400,\n"
+ "\t\t\t\"season\": 1,\n"
+ "\t\t\t\"episode\": 1,\n"
+ "\t\t\t\"is_movie\": false\n"
+ "\t\t},\n"
+ "\t\t{\n"
+ "\t\t\t\"name\": \"Equestria Girls\",\n"
+ "\t\t\t\"air_date\": 1371340800,\n"
+ "\t\t\t\"season\": 99,\n"
+ "\t\t\t\"episode\": 1,\n"
+ "\t\t\t\"is_movie\": true\n"
+ "\t\t}\n"
+ "\t]\n"
+ "}";
List<Episode> episodes = JsonDecoder.listFromJson(json);
assertEquals(2, episodes.size());
Episode episode1 = episodes.get(0);
assertEquals("Friendship is Magic Part 1", episode1.name);
assertEquals(Instant.ofEpochSecond(1286735400), episode1.airDate);
assertEquals(1, episode1.season);
assertEquals(1, episode1.episode);
assertEquals(false, episode1.isMovie);
Episode episode2 = episodes.get(1);
assertEquals("Equestria Girls", episode2.name);
assertEquals(Instant.ofEpochSecond(1371340800), episode2.airDate);
assertEquals(99, episode2.season);
assertEquals(1, episode2.episode);
assertEquals(true, episode2.isMovie);
}
}