/**
* Subject WH Questions with modals
*/
@Test
public void testModalWHSubjectQuestion() {
SPhraseSpec p = this.phraseFactory.createClause(this.dog, "upset",
this.man);
p.setFeature(Feature.TENSE, Tense.PAST);
Assert.assertEquals("the dog upset the man", this.realiser.realise(p)
.getRealisation());
// first without modal
p.setFeature(Feature.INTERROGATIVE_TYPE, InterrogativeType.WHO_SUBJECT);
Assert.assertEquals("who upset the man", this.realiser.realise(p)
.getRealisation());
p.setFeature(Feature.INTERROGATIVE_TYPE,
InterrogativeType.WHAT_SUBJECT);
Assert.assertEquals("what upset the man", this.realiser.realise(p)
.getRealisation());
// now with modal auxiliary
p.setFeature(Feature.MODAL, "may");
p.setFeature(Feature.INTERROGATIVE_TYPE, InterrogativeType.WHO_SUBJECT);
Assert.assertEquals("who may have upset the man", this.realiser
.realise(p).getRealisation());
p.setFeature(Feature.TENSE, Tense.FUTURE);
Assert.assertEquals("who may upset the man", this.realiser.realise(p)
.getRealisation());
p.setFeature(Feature.TENSE, Tense.PAST);
p
.setFeature(Feature.INTERROGATIVE_TYPE,
InterrogativeType.WHAT_SUBJECT);
Assert.assertEquals("what may have upset the man", this.realiser
.realise(p).getRealisation());
p.setFeature(Feature.TENSE, Tense.FUTURE);
Assert.assertEquals("what may upset the man", this.realiser.realise(p)
.getRealisation());
}