public virtual void spellingVariantsTest()
        {
            WordElement    asd       = lexicon.getWord("Adams-Stokes disease");
            IList <string> spellVars = asd.getFeatureAsStringList(LexicalFeature.SPELL_VARS);

            Assert.IsTrue(spellVars.Contains("Adams Stokes disease"));
            Assert.IsTrue(spellVars.Contains("Adam-Stokes disease"));
            Assert.AreEqual(2, spellVars.Count);
            Assert.AreEqual(asd.BaseForm, asd.getFeatureAsString(LexicalFeature.DEFAULT_SPELL));

            // default spell variant is baseform
            Assert.AreEqual("Adams-Stokes disease", asd.DefaultSpellingVariant);


            // default spell variant changes
            asd.DefaultSpellingVariant = "Adams Stokes disease";
            Assert.AreEqual("Adams Stokes disease", asd.DefaultSpellingVariant);
        }
        public virtual void spellingVariantWithInflectionTest()
        {
            WordElement    word      = lexicon.getWord("formalization");
            IList <string> spellVars = word.getFeatureAsStringList(LexicalFeature.SPELL_VARS);

            Assert.IsTrue(spellVars.Contains("formalisation"));
            Assert.AreEqual(Inflection.REGULAR, word.getDefaultInflectionalVariant());


            // create with default spelling
            NPPhraseSpec np = factory.createNounPhrase("the", word);

            np.setFeature(Feature.NUMBER, NumberAgreement.PLURAL);
            Assert.AreEqual("the formalizations", realiser.realise(np).Realisation);


            // reset spell var
            word.DefaultSpellingVariant = "formalisation";
            Assert.AreEqual("the formalisations", realiser.realise(np).Realisation);
        }