### Question:
Status { @JsonIgnore public boolean isFinished() { return SYNCHRONIZED.name().equalsIgnoreCase(code) || isFailed(); } @JsonCreator  Status(@JsonProperty("code") String code, @JsonProperty("detail") String detail,
           @JsonProperty("description") String description); String getCode(); String getDetail(); String getDescription(); @JsonIgnore boolean isFinished(); @JsonIgnore boolean isFailed(); @Override String toString();  }### Answer:
@Test public void testIsFinishedOnError() throws Exception { assertThat(new Status(ERROR.name(), "", "").isFinished(), is(true)); }
@Test public void testIsFinishedOnSynchronized() throws Exception { assertThat(new Status(SYNCHRONIZED.name(), "", "").isFinished(), is(true)); }
@Test public void testIsFinishedOnUploading() throws Exception { assertThat(new Status(UPLOADING.name(), "", "").isFinished(), is(false)); }
@Test public void testIsFinishedOnNullCode() throws Exception { assertThat(new Status(null, "", "").isFinished(), is(false)); }
@Test public void testIsFinishedOnUnknownCode() throws Exception { assertThat(new Status("unknown code", "", "").isFinished(), is(false)); }