public virtual void nounInflectionalVariantsTest() { WordElement word = lexicon.getWord("sanctum", new LexicalCategory(LexicalCategory.LexicalCategoryEnum.NOUN)); Assert.AreEqual(Inflection.REGULAR, word.getDefaultInflectionalVariant()); // reg plural shouldn't be stored Assert.AreEqual(null, word.getFeature(LexicalFeature.PLURAL)); InflectedWordElement infl = new InflectedWordElement(word); infl.setFeature(Feature.NUMBER, NumberAgreement.PLURAL); string plur = realiser.realise(infl).Realisation; Assert.AreEqual("sanctums", plur); // switch to glreg word.setDefaultInflectionalVariant(Inflection.GRECO_LATIN_REGULAR); infl = new InflectedWordElement(word); infl.setFeature(Feature.NUMBER, NumberAgreement.PLURAL); plur = realiser.realise(infl).Realisation; Assert.AreEqual("sancta", plur); // and back to reg word.setDefaultInflectionalVariant(Inflection.REGULAR); infl = new InflectedWordElement(word); infl.setFeature(Feature.NUMBER, NumberAgreement.PLURAL); plur = realiser.realise(infl).Realisation; Assert.AreEqual("sanctums", plur); }
public virtual void verbInflectionalVariantsTest() { WordElement word = lexicon.getWord("lie", new LexicalCategory(LexicalCategory.LexicalCategoryEnum.VERB)); Assert.AreEqual(Inflection.REGULAR, word.getDefaultInflectionalVariant()); // default past is "lied" InflectedWordElement infl = new InflectedWordElement(word); infl.setFeature(Feature.TENSE, Tense.PAST); string past = realiser.realise(infl).Realisation; Assert.AreEqual("lied", past); // switch to irregular word.setDefaultInflectionalVariant(Inflection.IRREGULAR); infl = new InflectedWordElement(word); infl.setFeature(Feature.TENSE, Tense.PAST); past = realiser.realise(infl).Realisation; Assert.AreEqual("lay", past); // switch back to regular word.setDefaultInflectionalVariant(Inflection.REGULAR); Assert.AreEqual(null, word.getFeature(LexicalFeature.PAST)); infl = new InflectedWordElement(word); infl.setFeature(Feature.TENSE, Tense.PAST); past = realiser.realise(infl).Realisation; Assert.AreEqual("lied", past); }