FieldQuery fq = new FieldQuery( query, true, true );
Map<String, QueryPhraseMap> map = fq.rootMaps;
assertEquals( 1, map.size() );
assertNull( map.get( null ) );
assertNotNull( map.get( F ) );
QueryPhraseMap qpm = map.get( F );
assertEquals( 2, qpm.subMap.size() );
// "a b c"
assertNotNull( qpm.subMap.get( "a" ) );
QueryPhraseMap qpm2 = qpm.subMap.get( "a" );
assertFalse( qpm2.terminal );
assertEquals( 1, qpm2.subMap.size() );
assertNotNull( qpm2.subMap.get( "b" ) );
QueryPhraseMap qpm3 = qpm2.subMap.get( "b" );
assertFalse( qpm3.terminal );
assertEquals( 1, qpm3.subMap.size() );
assertNotNull( qpm3.subMap.get( "c" ) );
QueryPhraseMap qpm4 = qpm3.subMap.get( "c" );
assertTrue( qpm4.terminal );
assertEquals( 1F, qpm4.boost, 0);
assertNotNull( qpm4.subMap.get( "d" ) );
QueryPhraseMap qpm5 = qpm4.subMap.get( "d" );
assertTrue( qpm5.terminal );
assertEquals( 1F, qpm5.boost, 0);
// "b c d"^2, "b d"^3
assertNotNull( qpm.subMap.get( "b" ) );