### Question:
CategoryName extends CompositeRepoName { public static CategoryName of(String name) { return new CategoryName(name); } private  CategoryName(String name); private  CategoryName(List<String> segments); static CategoryName of(String name); static CategoryName ofUri(String fragment); static CategoryName ofList(List<String> segments); String asUri(); static CategoryName emptyName(); CategoryName getParent();  }### Answer:
@Test public void testProjectName() { assertEquals("test", ProjectName.of("test").getName()); }
@Test public void testGetSegments() { assertEquals(Lists.newArrayList("123", "ABC", "_"), CategoryName.of(".123.ABC._").getSegments()); }