diff --git a/partial-response/src/main/java/com/iluwatar/partialresponse/Video.java b/partial-response/src/main/java/com/iluwatar/partialresponse/Video.java index 3717d8db2..de6239911 100644 --- a/partial-response/src/main/java/com/iluwatar/partialresponse/Video.java +++ b/partial-response/src/main/java/com/iluwatar/partialresponse/Video.java @@ -29,7 +29,7 @@ package com.iluwatar.partialresponse; *

*/ public class Video { - private String id; + private Integer id; private String title; private Integer length; private String description; @@ -41,10 +41,10 @@ public class Video { * @param title video title * @param length video length in minutes * @param description video description by publisher - * @param director video director name - * @param language video language {private, public} + * @param director video director name + * @param language video language {private, public} */ - public Video(String id, String title, Integer length, String description, String director, String language) { + public Video(Integer id, String title, Integer length, String description, String director, String language) { this.id = id; this.title = title; this.length = length; @@ -55,13 +55,12 @@ public class Video { @Override public String toString() { - return "Video{" + - "id='" + id + '\'' + - ", title='" + title + '\'' + - ", length=" + length + - ", description='" + description + '\'' + - ", director='" + director + '\'' + - ", language='" + language + '\'' + - '}'; + return "{" + + "\"id\": \"" + id + "\"," + + "\"title\": \"" + title + "\"," + + "\"description\": \"" + description + "\"," + + "\"director\": \"" + director + "\"," + + "\"language\": \"" + language + "\"," + + "}"; } } diff --git a/partial-response/src/main/java/com/iluwatar/partialresponse/VideoResource.java b/partial-response/src/main/java/com/iluwatar/partialresponse/VideoResource.java index fb95e05c7..b233c42d3 100644 --- a/partial-response/src/main/java/com/iluwatar/partialresponse/VideoResource.java +++ b/partial-response/src/main/java/com/iluwatar/partialresponse/VideoResource.java @@ -27,13 +27,13 @@ package com.iluwatar.partialresponse; import java.util.Map; public class VideoResource { - private Map videos; + private Map videos; - public VideoResource(Map videos) { + public VideoResource(Map videos) { this.videos = videos; } - public String getDetails(String id) { + public String getDetails(Integer id) { return videos.get(id).toString(); } } diff --git a/partial-response/src/test/java/com/iluwatar/partialresponse/VideoResourceTest.java b/partial-response/src/test/java/com/iluwatar/partialresponse/VideoResourceTest.java index 67d34edba..4fcf2b718 100644 --- a/partial-response/src/test/java/com/iluwatar/partialresponse/VideoResourceTest.java +++ b/partial-response/src/test/java/com/iluwatar/partialresponse/VideoResourceTest.java @@ -30,21 +30,25 @@ import org.junit.Test; import java.util.HashMap; import java.util.Map; +import static org.junit.Assert.assertEquals; + public class VideoResourceTest { private VideoResource resource; @Before public void setUp() { - Map videos = new HashMap<>(); - videos.put("1", new Video("1", "Avatar", 178, "epic science fiction film", "James Cameron", "English")); - videos.put("1", new Video("2", "Godzilla Resurgence", 120, "Action & drama movie|", "Hideaki Anno", "Japanese")); - videos.put("1", new Video("3", "Interstellar", 169, "Adventure & Sci-Fi", "Christopher Nolan", "English")); + Map videos = new HashMap<>(); + videos.put(1, new Video(1, "Avatar", 178, "epic science fiction film", "James Cameron", "English")); + videos.put(2, new Video(2, "Godzilla Resurgence", 120, "Action & drama movie|", "Hideaki Anno", "Japanese")); + videos.put(3, new Video(3, "Interstellar", 169, "Adventure & Sci-Fi", "Christopher Nolan", "English")); resource = new VideoResource(videos); } @Test public void shouldGiveVideoDetailsById() { - String details = resource.getDetails("1"); - System.out.println(details); + String details = resource.getDetails(1); + + String expectedDetails = "{\"id\": \"1\",\"title\": \"Avatar\",\"description\": \"epic science fiction film\",\"director\": \"James Cameron\",\"language\": \"English\",}"; + assertEquals(details, expectedDetails); } } \ No newline at end of file