@Test
public void memberShape() {

    StringShape string = StringShape.builder()
            .id("ns.foo#String")
            .build();
    MemberShape target = MemberShape.builder()
            .id("ns.foo#List$member")
            .target(string.getId())
            .build();
    ListShape list = ListShape.builder()
            .id("ns.foo#List")
            .member(target)
            .build();
    Model model = Model.builder()
            .addShape(target)
            .addShape(string)
            .addShape(list)
            .build();
    NeighborVisitor neighborVisitor = new NeighborVisitor(model);
    List<Relationship> relationships = target.accept(neighborVisitor);
    assertThat(relationships, containsInAnyOrder(
            Relationship.create(target, RelationshipType.MEMBER_CONTAINER, list),
            Relationship.create(target, RelationshipType.MEMBER_TARGET, string)));
}