### Question:
ApiRepoPathReader { public ApiRepoPathInfo read(String name) { if(StringUtils.equalsIgnoreCase(this.name, name)) { return pathInfo; } this.name = null; if(validate(name).isEmpty()) { return this.pathInfo; } return null; }  ApiRepoPathInfo read(String name); List<String> validate(String name);  }### Answer:
@Test public void read() { ApiRepoPathReader reader = new ApiRepoPathReader(); assertThat(reader.read("1")).isNull(); assertThat(reader.read("202005200808__description1")) .hasFieldOrPropertyWithValue("order", "202005200808") .hasFieldOrPropertyWithValue("description", "description1"); assertThat(reader.read("202005200808")) .hasFieldOrPropertyWithValue("order", "202005200808") .hasFieldOrPropertyWithValue("description", null); assertThat(reader.read("202005200808__")) .hasFieldOrPropertyWithValue("order", "202005200808") .hasFieldOrPropertyWithValue("description", null); assertThat(reader.read("202005200808__a__b_c")) .hasFieldOrPropertyWithValue("order", "202005200808") .hasFieldOrPropertyWithValue("description", "a__b_c"); assertThat(reader.read("202005200808.json")) .hasFieldOrPropertyWithValue("order", "202005200808") .hasFieldOrPropertyWithValue("description", null); }