}
public void testConstructor_Advanced() throws InvalidNameException {
log.setMethod("testConstructor_Advanced()");
assertNameEmpty(new CompoundName("", props));
assertNameEquals(new CompoundName("/", props), "");
assertNameEquals(new CompoundName("//", props), "", "");
assertNameEquals(new CompoundName("/a/", props), "", "a", "");
assertNameEquals(new CompoundName("//a/", props), "", "", "a", "");
assertNameEquals(new CompoundName("a/b/c/", props), "a", "b", "c", "");
assertNameEquals(new CompoundName("/a/b/c", props), "", "a", "b", "c");
assertNameEquals(new CompoundName("a/\\/b/c", props), "a", "/b", "c");
assertNameEquals(new CompoundName("a/\\b/c", props), "a", "\\b", "c");
assertInvalidName("a/b\\", props);
assertNameEquals(new CompoundName("a/<b/>/c", props), "a", "b/", "c");
assertNameEquals(new CompoundName("a/b<b/>b/c", props), "a", "b<b",
">b", "c");
assertNameEquals(new CompoundName("a/<b</>/c", props), "a", "b</", "c");
assertNameEquals(new CompoundName("a/\\/b>>>/c", props), "a", "/b>>>",
"c");
assertNameEquals(new CompoundName("a/</b\\a\\>b>/c", props), "a",
"/b\\a>b", "c");
assertInvalidName("a/<b/>b/c", props);
assertInvalidName("a/</b>>/c", props);
assertNameEquals(new CompoundName("a/'b/'/c", props), "a", "b/", "c");
assertNameEquals(new CompoundName("a/'/b\\a\\'b'/c", props), "a",
"/b\\a'b", "c");
assertInvalidName("a/b'b/'b/c", props);
assertInvalidName("a/'b/'b/c", props);
}