@Test
public void testQualifiedName() {

    String inputExpression = "My Person.Full Name";
    MapBackedType personType = new MapBackedType("Person", mapOf( entry("Full Name", BuiltInType.STRING), entry("Age", BuiltInType.NUMBER) ) );
    BaseNode qualRef = parse( inputExpression, mapOf( entry("My Person", personType) ) );
    assertThat( qualRef, is( instanceOf( QualifiedNameNode.class ) ) );
    assertThat( qualRef.getResultType(), is( BuiltInType.STRING ) );
    List<NameRefNode> parts = ((QualifiedNameNode) qualRef).getParts();
    // `My Person` ...
    assertThat( parts.get(0), is( instanceOf( NameRefNode.class ) ) );
    assertThat( parts.get(0).getResultType(), is( personType ) );
    // ... `.Full Name`
    assertThat( parts.get(1), is( instanceOf( NameRefNode.class ) ) );
    assertThat( parts.get(1).getResultType(), is( BuiltInType.STRING ) );
    assertLocation( inputExpression, qualRef );
}