@Test
 public void testHierarchicalComponentViewWithInvisibleComponents() {
   MyComponent a = new MyComponent(null, "a");
   MyComponent b = new MyComponent(a, "b");
   new MyComponent(b, "c");
   new MyComponent(a, "d");
   MyComponent e = new MyComponent(b, "e");
   e.setVisible(false);
   namingStrategy.setTopLevelComponent(a, true);
   namingStrategy.getName(a);
   String expected =
       "[net.sourceforge.marathon.component.TestMarathonNamingStrategy$MyComponent(a)]\n"
           + "  [net.sourceforge.marathon.component.TestMarathonNamingStrategy$MyComponent(b)]\n"
           + "  [net.sourceforge.marathon.component.TestMarathonNamingStrategy$MyComponent(d)]\n"
           + "    [net.sourceforge.marathon.component.TestMarathonNamingStrategy$MyComponent(c)]\n"
           + "    [net.sourceforge.marathon.component.TestMarathonNamingStrategy$MyComponent(e)]\n"
           + "";
   assertEquals(expected, namingStrategy.getVisibleComponentNames());
   a.setVisible(false);
   namingStrategy.setTopLevelComponent(a, true);
 }