// Test the cleaning up of "Y" and "ç" suffixes. // func Test_step3(t *testing.T) { testCases := []romance.StepTestCase{ {"ennuY", 5, 5, 5, true, "ennui", 5, 5, 5}, {"envoY", 5, 5, 4, true, "envoi", 5, 5, 4}, {"aboY", 4, 4, 3, true, "aboi", 4, 4, 3}, {"essaY", 5, 5, 4, true, "essai", 5, 5, 4}, {"effroY", 6, 6, 6, true, "effroi", 6, 6, 6}, {"désennuY", 8, 8, 8, true, "désennui", 8, 8, 8}, {"renvoY", 6, 6, 6, true, "renvoi", 6, 6, 6}, {"prononç", 7, 7, 3, true, "prononc", 7, 7, 3}, {"asseY", 5, 5, 5, true, "assei", 5, 5, 5}, {"croY", 4, 4, 3, true, "croi", 4, 4, 3}, {"asseY", 5, 5, 4, true, "assei", 5, 5, 4}, {"plaç", 4, 4, 3, true, "plac", 4, 4, 3}, {"ennuY", 5, 5, 5, true, "ennui", 5, 5, 5}, {"impaY", 5, 5, 5, true, "impai", 5, 5, 5}, {"déploY", 6, 6, 2, true, "déploi", 6, 6, 2}, {"avanç", 5, 5, 3, true, "avanc", 5, 5, 3}, {"recommenç", 9, 9, 2, true, "recommenc", 9, 9, 2}, {"pitoY", 5, 5, 5, true, "pitoi", 5, 5, 5}, {"renvoY", 6, 6, 6, true, "renvoi", 6, 6, 6}, {"choY", 4, 4, 4, true, "choi", 4, 4, 4}, {"effroY", 6, 6, 6, true, "effroi", 6, 6, 6}, {"forç", 4, 4, 2, true, "forc", 4, 4, 2}, {"envoY", 5, 5, 5, true, "envoi", 5, 5, 5}, {"paY", 3, 3, 3, true, "pai", 3, 3, 3}, {"bunhY", 5, 5, 2, true, "bunhi", 5, 5, 2}, } romance.RunStepTest(t, step3, testCases) }
// Test // func Test_step4(t *testing.T) { testCases := []romance.StepTestCase{ {"défendues", 3, 5, 2, true, "défendu", 3, 5, 2}, {"mormones", 3, 6, 2, true, "mormon", 3, 6, 2}, {"souvienne", 4, 7, 2, true, "souvienn", 4, 7, 2}, {"poumons", 4, 6, 2, true, "poumon", 4, 6, 2}, {"relâche", 3, 5, 2, true, "relâch", 3, 5, 2}, {"ressource", 3, 7, 2, true, "ressourc", 3, 7, 2}, {"petits", 3, 5, 2, true, "petit", 3, 5, 2}, {"obstacles", 2, 6, 5, true, "obstacl", 2, 6, 5}, {"voisine", 4, 6, 2, true, "voisin", 4, 6, 2}, {"tunnels", 3, 6, 2, true, "tunnel", 3, 6, 2}, {"politesse", 3, 5, 2, true, "politess", 3, 5, 2}, {"obéisse", 2, 5, 3, true, "obéiss", 2, 5, 3}, {"brûlons", 4, 6, 3, true, "brûlon", 4, 6, 3}, {"tâchons", 3, 6, 2, true, "tâchon", 3, 6, 2}, {"gothiqUes", 3, 6, 2, true, "gothiqU", 3, 6, 2}, {"acqUise", 2, 6, 5, true, "acqUis", 2, 6, 5}, {"pigeons", 3, 6, 2, true, "pigeon", 3, 6, 2}, {"focs", 3, 4, 2, true, "foc", 3, 3, 2}, {"profondeurs", 4, 6, 3, true, "profondeur", 4, 6, 3}, {"mettrons", 3, 7, 2, true, "mettron", 3, 7, 2}, {"bavards", 3, 5, 2, true, "bavard", 3, 5, 2}, {"nigauds", 3, 6, 2, true, "nigaud", 3, 6, 2}, {"déesse", 4, 6, 2, true, "déess", 4, 5, 2}, {"libraires", 3, 7, 2, true, "librair", 3, 7, 2}, {"sentimentales", 3, 6, 2, true, "sentimental", 3, 6, 2}, {"libre", 3, 5, 2, true, "libr", 3, 4, 2}, {"matérielles", 3, 5, 2, true, "matériell", 3, 5, 2}, {"habitudes", 3, 5, 2, true, "habitud", 3, 5, 2}, {"blushes", 4, 7, 3, true, "blush", 4, 5, 3}, {"suppose", 3, 6, 2, true, "suppos", 3, 6, 2}, {"décrépitude", 3, 6, 2, true, "décrépitud", 3, 6, 2}, {"incluse", 2, 6, 5, true, "inclus", 2, 6, 5}, {"files", 3, 5, 2, true, "fil", 3, 3, 2}, {"côtes", 3, 5, 2, true, "côt", 3, 3, 2}, {"spirales", 4, 6, 3, true, "spiral", 4, 6, 3}, {"bamboches", 3, 6, 2, true, "bamboch", 3, 6, 2}, {"qUête", 4, 5, 3, true, "qUêt", 4, 4, 3}, {"siècles", 4, 7, 2, true, "siècl", 4, 5, 2}, {"glisse", 4, 6, 3, true, "gliss", 4, 5, 3}, {"carrosses", 3, 6, 2, true, "carross", 3, 6, 2}, {"supprime", 3, 7, 2, true, "supprim", 3, 7, 2}, {"officielle", 2, 5, 4, true, "officiell", 2, 5, 4}, {"vifs", 3, 4, 2, true, "vif", 3, 3, 2}, {"adresses", 2, 5, 4, true, "adress", 2, 5, 4}, {"hussards", 3, 6, 2, true, "hussard", 3, 6, 2}, {"colle", 3, 5, 3, true, "coll", 3, 4, 3}, {"amendes", 2, 4, 3, true, "amend", 2, 4, 3}, {"qUeUe", 4, 5, 3, true, "qUeU", 4, 4, 3}, {"écharpe", 2, 5, 4, true, "écharp", 2, 5, 4}, {"débute", 3, 5, 2, true, "début", 3, 5, 2}, {"refuse", 3, 5, 2, true, "refus", 3, 5, 2}, {"légers", 3, 5, 2, true, "léger", 3, 5, 2}, {"entrailles", 2, 7, 5, true, "entraill", 2, 7, 5}, {"écarlate", 2, 4, 3, true, "écarlat", 2, 4, 3}, {"manufacturières", 3, 5, 2, true, "manufacturi", 3, 5, 2}, {"instruire", 2, 8, 6, true, "instruir", 2, 8, 6}, {"danses", 3, 6, 2, true, "dans", 3, 4, 2}, {"lits", 3, 4, 2, true, "lit", 3, 3, 2}, {"cours", 4, 5, 2, true, "cour", 4, 4, 2}, {"belgirate", 3, 6, 2, true, "belgirat", 3, 6, 2}, {"délire", 3, 5, 2, true, "délir", 3, 5, 2}, {"offenses", 2, 5, 4, true, "offens", 2, 5, 4}, {"athènes", 2, 5, 4, true, "athèn", 2, 5, 4}, {"alphabets", 2, 6, 5, true, "alphabet", 2, 6, 5}, {"ascagne", 2, 5, 4, true, "ascagn", 2, 5, 4}, {"lièvre", 4, 6, 2, true, "lièvr", 4, 5, 2}, {"hercule", 3, 6, 2, true, "hercul", 3, 6, 2}, {"casqUe", 3, 6, 2, true, "casqU", 3, 5, 2}, {"cachons", 3, 6, 2, true, "cachon", 3, 6, 2}, {"herbe", 3, 5, 2, true, "herb", 3, 4, 2}, {"banqUette", 3, 7, 2, true, "banqUett", 3, 7, 2}, {"actuelles", 2, 6, 4, true, "actuell", 2, 6, 4}, {"intercession", 2, 5, 4, true, "intercess", 2, 5, 4}, {"pêle", 3, 4, 2, true, "pêl", 3, 3, 2}, {"grossières", 4, 8, 3, true, "grossi", 4, 6, 3}, {"qUelle", 4, 6, 3, true, "qUell", 4, 5, 3}, {"séduits", 3, 6, 2, true, "séduit", 3, 6, 2}, {"vengeance", 3, 7, 2, true, "vengeanc", 3, 7, 2}, {"indécentes", 2, 5, 4, true, "indécent", 2, 5, 4}, {"bergères", 3, 6, 2, true, "bergèr", 3, 6, 2}, {"fenestrelles", 3, 5, 2, true, "fenestrell", 3, 5, 2}, {"croupe", 5, 6, 3, true, "croup", 5, 5, 3}, {"légitime", 3, 5, 2, true, "légitim", 3, 5, 2}, {"ferrare", 3, 6, 2, true, "ferrar", 3, 6, 2}, {"briqUe", 4, 6, 3, true, "briqU", 4, 5, 3}, {"étrangère", 2, 5, 4, true, "étrangèr", 2, 5, 4}, {"arqUés", 2, 6, 5, true, "arqUé", 2, 5, 5}, {"guèbres", 4, 7, 2, true, "guèbr", 4, 5, 2}, {"partons", 3, 6, 3, true, "parton", 3, 6, 3}, {"distingue", 3, 6, 2, true, "distingu", 3, 6, 2}, {"paratonnerres", 3, 5, 3, true, "paratonnerr", 3, 5, 3}, {"anonyme", 2, 4, 3, true, "anonym", 2, 4, 3}, {"volutes", 3, 5, 2, true, "volut", 3, 5, 2}, {"décence", 3, 5, 2, true, "décenc", 3, 5, 2}, {"coupure", 4, 6, 2, true, "coupur", 4, 6, 2}, {"avarice", 2, 4, 3, true, "avaric", 2, 4, 3}, {"sensible", 3, 6, 2, true, "sensibl", 3, 6, 2}, {"cramponne", 4, 7, 3, true, "cramponn", 4, 7, 3}, {"sympathise", 3, 6, 2, true, "sympathis", 3, 6, 2}, {"assidue", 2, 5, 4, true, "assidu", 2, 5, 4}, } romance.RunStepTest(t, step4, testCases) }
// the removal of Verb suffixes beginning // with "i" in the RV region. // Test step1, the removal of standard suffixes. // func Test_step2a(t *testing.T) { testCases := []romance.StepTestCase{ {"épanoUit", 2, 4, 3, true, "épanoU", 2, 4, 3}, {"faillirent", 4, 7, 2, true, "faill", 4, 5, 2}, {"acabit", 2, 4, 3, true, "acab", 2, 4, 3}, {"établissait", 2, 4, 3, true, "établ", 2, 4, 3}, {"découvrir", 3, 6, 2, true, "découvr", 3, 6, 2}, {"réjoUissait", 3, 5, 2, true, "réjoU", 3, 5, 2}, {"trahiront", 4, 6, 3, true, "trah", 4, 4, 3}, {"maintenir", 4, 7, 2, true, "mainten", 4, 7, 2}, {"vendit", 3, 6, 2, true, "vend", 3, 4, 2}, {"repartit", 3, 5, 2, true, "repart", 3, 5, 2}, {"giletti", 3, 5, 2, true, "gilett", 3, 5, 2}, {"rienzi", 4, 6, 2, true, "rienz", 4, 5, 2}, {"punie", 3, 5, 2, true, "pun", 3, 3, 2}, {"accueillir", 2, 7, 4, true, "accueill", 2, 7, 4}, {"rétablit", 3, 5, 2, true, "rétabl", 3, 5, 2}, {"ravis", 3, 5, 2, true, "rav", 3, 3, 2}, {"xviIi", 4, 5, 3, true, "xviI", 4, 4, 3}, {"blottie", 4, 7, 3, true, "blott", 4, 5, 3}, {"approfondie", 2, 6, 5, true, "approfond", 2, 6, 5}, {"infirmerie", 2, 5, 4, true, "infirmer", 2, 5, 4}, {"scotti", 4, 6, 3, true, "scott", 4, 5, 3}, {"adoucissait", 2, 5, 3, true, "adouc", 2, 5, 3}, {"finissait", 3, 5, 2, true, "fin", 3, 3, 2}, {"promit", 4, 6, 3, true, "prom", 4, 4, 3}, {"franchies", 4, 9, 3, true, "franch", 4, 6, 3}, {"franchissant", 4, 8, 3, true, "franch", 4, 6, 3}, {"micheli", 3, 6, 2, true, "michel", 3, 6, 2}, {"éteignit", 2, 5, 3, true, "éteign", 2, 5, 3}, {"puni", 3, 4, 2, true, "pun", 3, 3, 2}, {"apoplexie", 2, 4, 3, true, "apoplex", 2, 4, 3}, {"désira", 3, 5, 2, true, "dés", 3, 3, 2}, {"étourdi", 2, 5, 3, true, "étourd", 2, 5, 3}, {"giovanni", 4, 6, 2, true, "giovann", 4, 6, 2}, {"apprécie", 2, 6, 5, true, "appréc", 2, 6, 5}, {"poésies", 4, 7, 2, true, "poés", 4, 4, 2}, {"pairie", 4, 6, 2, true, "pair", 4, 4, 2}, {"sortit", 3, 6, 2, true, "sort", 3, 4, 2}, {"subi", 3, 4, 2, true, "sub", 3, 3, 2}, {"aigrirait", 3, 6, 3, true, "aigr", 3, 4, 3}, {"assailli", 2, 6, 4, true, "assaill", 2, 6, 4}, {"bertolotti", 3, 6, 2, true, "bertolott", 3, 6, 2}, {"recouvrir", 3, 6, 2, true, "recouvr", 3, 6, 2}, {"visconti", 3, 6, 2, true, "viscont", 3, 6, 2}, {"surgir", 3, 6, 2, true, "surg", 3, 4, 2}, {"remercie", 3, 5, 2, true, "remerc", 3, 5, 2}, {"joUissaIent", 3, 5, 2, true, "joU", 3, 3, 2}, {"bondissant", 3, 6, 2, true, "bond", 3, 4, 2}, {"saisi", 4, 5, 2, true, "sais", 4, 4, 2}, {"missouri", 3, 7, 2, true, "missour", 3, 7, 2}, {"remplirent", 3, 7, 2, true, "rempl", 3, 5, 2}, {"envahi", 2, 5, 4, true, "envah", 2, 5, 4}, {"tandis", 3, 6, 2, true, "tand", 3, 4, 2}, {"trahit", 4, 6, 3, true, "trah", 4, 4, 3}, {"trahissaIent", 4, 6, 3, true, "trah", 4, 4, 3}, {"réunie", 4, 6, 2, true, "réun", 4, 4, 2}, {"avarie", 2, 4, 3, true, "avar", 2, 4, 3}, {"dilettanti", 3, 5, 2, true, "dilettant", 3, 5, 2}, {"raidie", 4, 6, 2, true, "raid", 4, 4, 2}, {"écuries", 2, 4, 3, true, "écur", 2, 4, 3}, {"recouvrît", 3, 6, 2, true, "recouvr", 3, 6, 2}, {"parsis", 3, 6, 3, true, "pars", 3, 4, 3}, {"monti", 3, 5, 2, true, "mont", 3, 4, 2}, {"reproduisit", 3, 6, 2, true, "reproduis", 3, 6, 2}, {"étendit", 2, 4, 3, true, "étend", 2, 4, 3}, {"suffi", 3, 5, 2, true, "suff", 3, 4, 2}, {"pillaji", 3, 6, 2, true, "pillaj", 3, 6, 2}, {"rougir", 4, 6, 2, true, "roug", 4, 4, 2}, {"désirez", 3, 5, 2, true, "dés", 3, 3, 2}, {"subit", 3, 5, 2, true, "sub", 3, 3, 2}, {"fondirent", 3, 6, 2, true, "fond", 3, 4, 2}, {"coqUineries", 3, 6, 2, true, "coqUiner", 3, 6, 2}, {"venir", 3, 5, 2, true, "ven", 3, 3, 2}, {"plaidoirie", 5, 8, 3, true, "plaidoir", 5, 8, 3}, {"fournissant", 4, 7, 2, true, "fourn", 4, 5, 2}, {"bonzeries", 3, 6, 2, true, "bonzer", 3, 6, 2}, {"flétri", 4, 6, 3, true, "flétr", 4, 5, 3}, {"faillit", 4, 7, 2, true, "faill", 4, 5, 2}, {"hardie", 3, 6, 2, true, "hard", 3, 4, 2}, {"compagnie", 3, 6, 2, true, "compagn", 3, 6, 2}, {"vernis", 3, 6, 2, true, "vern", 3, 4, 2}, {"attendit", 2, 5, 4, true, "attend", 2, 5, 4}, {"blanchies", 4, 9, 3, true, "blanch", 4, 6, 3}, {"choisie", 5, 7, 3, true, "chois", 5, 5, 3}, {"rafraîchir", 3, 7, 2, true, "rafraîch", 3, 7, 2}, {"choisir", 5, 7, 3, true, "chois", 5, 5, 3}, {"nourrisse", 4, 7, 2, true, "nourr", 4, 5, 2}, {"chancellerie", 4, 7, 3, true, "chanceller", 4, 7, 3}, {"repartie", 3, 5, 2, true, "repart", 3, 5, 2}, {"redira", 3, 5, 2, true, "red", 3, 3, 2}, {"sentira", 3, 6, 2, true, "sent", 3, 4, 2}, {"surgirait", 3, 6, 2, true, "surg", 3, 4, 2}, {"cani", 3, 4, 2, true, "can", 3, 3, 2}, {"gratis", 4, 6, 3, true, "grat", 4, 4, 3}, {"médît", 3, 5, 2, true, "méd", 3, 3, 2}, {"avertis", 2, 4, 3, true, "avert", 2, 4, 3}, {"chirurgie", 4, 6, 3, true, "chirurg", 4, 6, 3}, {"ironie", 2, 4, 3, true, "iron", 2, 4, 3}, {"punîtes", 3, 5, 2, true, "pun", 3, 3, 2}, {"compromis", 3, 7, 2, true, "comprom", 3, 7, 2}, {"simonie", 3, 5, 2, true, "simon", 3, 5, 2}, } romance.RunStepTest(t, step2a, testCases) }
// Test the removal of Verb suffixes in RV that // do not begin with "i". // func Test_step2b(t *testing.T) { testCases := []romance.StepTestCase{ {"posée", 3, 5, 2, true, "pos", 3, 3, 2}, {"contentait", 3, 6, 2, true, "content", 3, 6, 2}, {"évita", 2, 4, 3, true, "évit", 2, 4, 3}, {"cantonnées", 3, 6, 2, true, "cantonn", 3, 6, 2}, {"tender", 3, 6, 2, true, "tend", 3, 4, 2}, {"survenait", 3, 6, 2, true, "surven", 3, 6, 2}, {"plongeaIent", 4, 8, 3, true, "plong", 4, 5, 3}, {"modéra", 3, 5, 2, true, "modér", 3, 5, 2}, {"copier", 3, 6, 2, true, "copi", 3, 4, 2}, {"bougez", 4, 6, 2, true, "boug", 4, 4, 2}, {"déploYaIent", 3, 6, 2, true, "déploY", 3, 6, 2}, {"entendra", 2, 5, 4, true, "entendr", 2, 5, 4}, {"blâmer", 4, 6, 3, true, "blâm", 4, 4, 3}, {"déshonorait", 3, 6, 2, true, "déshonor", 3, 6, 2}, {"concentrés", 3, 6, 2, true, "concentr", 3, 6, 2}, {"mangeant", 3, 7, 2, true, "mang", 3, 4, 2}, {"écouteront", 2, 5, 3, true, "écout", 2, 5, 3}, {"pressaIent", 4, 7, 3, true, "press", 4, 5, 3}, {"ébréché", 2, 5, 4, true, "ébréch", 2, 5, 4}, {"frapper", 4, 7, 3, true, "frapp", 4, 5, 3}, {"côtoYé", 3, 5, 2, true, "côtoY", 3, 5, 2}, {"réfugié", 3, 5, 2, true, "réfugi", 3, 5, 2}, {"jeûnant", 4, 6, 2, true, "jeûn", 4, 4, 2}, {"succombé", 3, 6, 2, true, "succomb", 3, 6, 2}, {"irrité", 2, 5, 4, true, "irrit", 2, 5, 4}, {"danger", 3, 6, 2, true, "dang", 3, 4, 2}, {"sachant", 3, 6, 2, true, "sach", 3, 4, 2}, {"reparaissaIent", 3, 5, 2, true, "reparaiss", 3, 5, 2}, {"reconnaissant", 3, 5, 2, true, "reconnaiss", 3, 5, 2}, {"faisant", 4, 6, 2, true, "fais", 4, 4, 2}, {"arrangés", 2, 5, 4, true, "arrang", 2, 5, 4}, {"emparés", 2, 5, 4, true, "empar", 2, 5, 4}, {"choqUée", 4, 7, 3, true, "choqU", 4, 5, 3}, {"gênait", 3, 6, 2, true, "gên", 3, 3, 2}, {"croissante", 5, 8, 3, true, "croiss", 5, 6, 3}, {"scié", 4, 4, 3, true, "sci", 3, 3, 3}, {"reconnaissez", 3, 5, 2, true, "reconnaiss", 3, 5, 2}, {"pliaIent", 5, 7, 3, true, "pli", 3, 3, 3}, {"expédia", 2, 5, 4, true, "expédi", 2, 5, 4}, {"déshabillaIent", 3, 6, 2, true, "déshabill", 3, 6, 2}, {"appréciée", 2, 6, 5, true, "appréci", 2, 6, 5}, {"amputés", 2, 5, 4, true, "amput", 2, 5, 4}, {"dominait", 3, 5, 2, true, "domin", 3, 5, 2}, {"vexantes", 3, 5, 2, true, "vex", 3, 3, 2}, {"fabriqUées", 3, 6, 2, true, "fabriqU", 3, 6, 2}, {"retomber", 3, 5, 2, true, "retomb", 3, 5, 2}, {"exercer", 2, 4, 3, true, "exerc", 2, 4, 3}, {"entourait", 2, 6, 4, true, "entour", 2, 6, 4}, {"voYait", 3, 6, 2, true, "voY", 3, 3, 2}, {"soupait", 4, 7, 2, true, "soup", 4, 4, 2}, {"apportiez", 2, 5, 4, true, "apport", 2, 5, 4}, {"tuée", 4, 4, 2, true, "tu", 2, 2, 2}, {"proposait", 4, 6, 3, true, "propos", 4, 6, 3}, {"citations", 3, 5, 2, true, "citat", 3, 5, 2}, {"distinguée", 3, 6, 2, true, "distingu", 3, 6, 2}, {"parlerez", 3, 6, 3, true, "parl", 3, 4, 3}, {"stanislas", 4, 6, 3, true, "stanisl", 4, 6, 3}, {"enlevée", 2, 5, 4, true, "enlev", 2, 5, 4}, {"irriguaIent", 2, 5, 4, true, "irrigu", 2, 5, 4}, {"contenant", 3, 6, 2, true, "conten", 3, 6, 2}, {"empêchèrent", 2, 5, 4, true, "empêch", 2, 5, 4}, {"inspirées", 2, 6, 5, true, "inspir", 2, 6, 5}, {"basée", 3, 5, 2, true, "bas", 3, 3, 2}, {"consultait", 3, 6, 2, true, "consult", 3, 6, 2}, {"retardait", 3, 5, 2, true, "retard", 3, 5, 2}, {"enlevât", 2, 5, 4, true, "enlev", 2, 5, 4}, {"convenaIent", 3, 6, 2, true, "conven", 3, 6, 2}, {"portât", 3, 6, 2, true, "port", 3, 4, 2}, {"admirée", 2, 5, 4, true, "admir", 2, 5, 4}, {"copiée", 3, 6, 2, true, "copi", 3, 4, 2}, {"démenaIent", 3, 5, 2, true, "démen", 3, 5, 2}, {"fortifiées", 3, 6, 2, true, "fortifi", 3, 6, 2}, {"apercevrait", 2, 4, 3, true, "apercevr", 2, 4, 3}, {"risqUer", 3, 7, 2, true, "risqU", 3, 5, 2}, {"réclamer", 3, 6, 2, true, "réclam", 3, 6, 2}, {"tremblaIent", 4, 8, 3, true, "trembl", 4, 6, 3}, {"calomnier", 3, 5, 2, true, "calomni", 3, 5, 2}, {"réclamée", 3, 6, 2, true, "réclam", 3, 6, 2}, {"déposât", 3, 5, 2, true, "dépos", 3, 5, 2}, {"filé", 3, 4, 2, true, "fil", 3, 3, 2}, {"déchirée", 3, 6, 2, true, "déchir", 3, 6, 2}, {"prononça", 4, 6, 3, true, "prononç", 4, 6, 3}, {"précédé", 4, 6, 3, true, "précéd", 4, 6, 3}, {"asseYait", 2, 5, 4, true, "asseY", 2, 5, 4}, {"emploYés", 2, 6, 5, true, "emploY", 2, 6, 5}, {"chagriner", 4, 7, 3, true, "chagrin", 4, 7, 3}, {"dévorât", 3, 5, 2, true, "dévor", 3, 5, 2}, {"remonté", 3, 5, 2, true, "remont", 3, 5, 2}, {"emploYant", 2, 6, 5, true, "emploY", 2, 6, 5}, {"redoublait", 3, 6, 2, true, "redoubl", 3, 6, 2}, {"marchant", 3, 7, 2, true, "march", 3, 5, 2}, {"pétrifiée", 3, 6, 2, true, "pétrifi", 3, 6, 2}, {"enlevées", 2, 5, 4, true, "enlev", 2, 5, 4}, {"donnassent", 3, 6, 2, true, "donn", 3, 4, 2}, {"recomptait", 3, 5, 2, true, "recompt", 3, 5, 2}, {"masqUait", 3, 8, 2, true, "masqU", 3, 5, 2}, {"renouvelèrent", 3, 6, 2, true, "renouvel", 3, 6, 2}, {"recoucher", 3, 6, 2, true, "recouch", 3, 6, 2}, {"abrégea", 2, 5, 4, true, "abrég", 2, 5, 4}, {"flattait", 4, 8, 3, true, "flatt", 4, 5, 3}, } romance.RunStepTest(t, step2b, testCases) }
// Test step4 // func Test_step4(t *testing.T) { testCases := []romance.StepTestCase{ {"раскольничь", 3, 6, 2, true, "раскольнич", 3, 6, 2}, {"создань", 3, 6, 2, true, "создан", 3, 6, 2}, {"доверенн", 3, 5, 2, true, "доверен", 3, 5, 2}, {"уничтоженн", 2, 4, 1, true, "уничтожен", 2, 4, 1}, {"опаленн", 2, 4, 1, true, "опален", 2, 4, 1}, {"легкомысленн", 3, 6, 2, true, "легкомыслен", 3, 6, 2}, {"поглощенн", 3, 6, 2, true, "поглощен", 3, 6, 2}, {"дочерь", 3, 5, 2, true, "дочер", 3, 5, 2}, {"каменн", 3, 5, 2, true, "камен", 3, 5, 2}, {"извращенн", 2, 6, 1, true, "извращен", 2, 6, 1}, {"печать", 3, 5, 2, true, "печат", 3, 5, 2}, {"отчищенн", 2, 5, 1, true, "отчищен", 2, 5, 1}, {"некупленн", 3, 5, 2, true, "некуплен", 3, 5, 2}, {"отделенн", 2, 5, 1, true, "отделен", 2, 5, 1}, {"покрашенн", 3, 6, 2, true, "покрашен", 3, 6, 2}, {"наследственн", 3, 6, 2, true, "наследствен", 3, 6, 2}, {"эмаль", 2, 4, 1, true, "эмал", 2, 4, 1}, {"определенн", 2, 5, 1, true, "определен", 2, 5, 1}, {"многопенн", 4, 6, 3, true, "многопен", 4, 6, 3}, {"роднейш", 3, 6, 2, true, "родн", 3, 4, 2}, {"чинн", 3, 4, 2, true, "чин", 3, 3, 2}, {"смущенн", 4, 6, 3, true, "смущен", 4, 6, 3}, {"единовременн", 2, 4, 1, true, "единовремен", 2, 4, 1}, {"уставленн", 2, 5, 1, true, "уставлен", 2, 5, 1}, {"наибесполезнейш", 4, 6, 2, true, "наибесполезн", 4, 6, 2}, {"выкупленн", 3, 5, 2, true, "выкуплен", 3, 5, 2}, {"софь", 3, 4, 2, true, "соф", 3, 3, 2}, {"естественн", 2, 5, 1, true, "естествен", 2, 5, 1}, {"замечательнейш", 3, 5, 2, true, "замечательн", 3, 5, 2}, {"обеспокоенн", 2, 4, 1, true, "обеспокоен", 2, 4, 1}, {"вражь", 4, 5, 3, true, "враж", 4, 4, 3}, {"военн", 4, 5, 2, true, "воен", 4, 4, 2}, {"поконченн", 3, 5, 2, true, "покончен", 3, 5, 2}, {"помеченн", 3, 5, 2, true, "помечен", 3, 5, 2}, {"отменн", 2, 5, 1, true, "отмен", 2, 5, 1}, {"нетопленн", 3, 5, 2, true, "нетоплен", 3, 5, 2}, {"веденн", 3, 5, 2, true, "веден", 3, 5, 2}, {"несомненн", 3, 5, 2, true, "несомнен", 3, 5, 2}, {"ревность", 3, 6, 2, true, "ревност", 3, 6, 2}, {"освещенн", 2, 5, 1, true, "освещен", 2, 5, 1}, {"добродушнейш", 3, 6, 2, true, "добродушн", 3, 6, 2}, {"складенн", 5, 7, 4, true, "складен", 5, 7, 4}, {"сиянь", 4, 5, 2, true, "сиян", 4, 4, 2}, {"прославленн", 4, 7, 3, true, "прославлен", 4, 7, 3}, {"поступь", 3, 6, 2, true, "поступ", 3, 6, 2}, {"главнейш", 4, 7, 3, true, "главн", 4, 5, 3}, {"птичь", 4, 5, 3, true, "птич", 4, 4, 3}, {"коровь", 3, 5, 2, true, "коров", 3, 5, 2}, {"ожерель", 2, 4, 1, true, "ожерел", 2, 4, 1}, {"неестественн", 4, 7, 2, true, "неестествен", 4, 7, 2}, // False cases {"украшен", 2, 5, 1, false, "украшен", 2, 5, 1}, {"телеграфн", 3, 5, 2, false, "телеграфн", 3, 5, 2}, {"унос", 2, 4, 1, false, "унос", 2, 4, 1}, {"поездк", 4, 6, 2, false, "поездк", 4, 6, 2}, {"перекрестк", 3, 5, 2, false, "перекрестк", 3, 5, 2}, {"покомфортн", 3, 5, 2, false, "покомфортн", 3, 5, 2}, {"своз", 4, 4, 3, false, "своз", 4, 4, 3}, {"вытягив", 3, 5, 2, false, "вытягив", 3, 5, 2}, {"казуистик", 3, 6, 2, false, "казуистик", 3, 6, 2}, {"трог", 4, 4, 3, false, "трог", 4, 4, 3}, {"предпочит", 4, 7, 3, false, "предпочит", 4, 7, 3}, {"жгла", 4, 4, 4, false, "жгла", 4, 4, 4}, {"возделыва", 3, 6, 2, false, "возделыва", 3, 6, 2}, {"религ", 3, 5, 2, false, "религ", 3, 5, 2}, {"бессердеч", 3, 6, 2, false, "бессердеч", 3, 6, 2}, {"прохор", 4, 6, 3, false, "прохор", 4, 6, 3}, {"сойдет", 3, 6, 2, false, "сойдет", 3, 6, 2}, {"ораторствова", 2, 4, 1, false, "ораторствова", 2, 4, 1}, {"прояв", 5, 5, 3, false, "прояв", 5, 5, 3}, {"гербов", 3, 6, 2, false, "гербов", 3, 6, 2}, {"понесл", 3, 5, 2, false, "понесл", 3, 5, 2}, {"буфетчик", 3, 5, 2, false, "буфетчик", 3, 5, 2}, {"поддержив", 3, 6, 2, false, "поддержив", 3, 6, 2}, {"прячеш", 4, 6, 3, false, "прячеш", 4, 6, 3}, {"загадочн", 3, 5, 2, false, "загадочн", 3, 5, 2}, {"стряхнут", 5, 8, 4, false, "стряхнут", 5, 8, 4}, {"пяточк", 3, 5, 2, false, "пяточк", 3, 5, 2}, {"занов", 3, 5, 2, false, "занов", 3, 5, 2}, {"солнечн", 3, 6, 2, false, "солнечн", 3, 6, 2}, {"совестн", 3, 5, 2, false, "совестн", 3, 5, 2}, {"совершеннолет", 3, 5, 2, false, "совершеннолет", 3, 5, 2}, {"ищут", 2, 4, 1, false, "ищут", 2, 4, 1}, {"сошедш", 3, 5, 2, false, "сошедш", 3, 5, 2}, {"выпуст", 3, 5, 2, false, "выпуст", 3, 5, 2}, {"молодец", 3, 5, 2, false, "молодец", 3, 5, 2}, {"отрезв", 2, 5, 1, false, "отрезв", 2, 5, 1}, {"топлив", 3, 6, 2, false, "топлив", 3, 6, 2}, {"колодник", 3, 5, 2, false, "колодник", 3, 5, 2}, {"присмирел", 4, 7, 3, false, "присмирел", 4, 7, 3}, {"педагог", 3, 5, 2, false, "педагог", 3, 5, 2}, {"распространя", 3, 7, 2, false, "распространя", 3, 7, 2}, {"обиняк", 2, 4, 1, false, "обиняк", 2, 4, 1}, {"дикар", 3, 5, 2, false, "дикар", 3, 5, 2}, {"ят", 2, 2, 1, false, "ят", 2, 2, 1}, {"слезьм", 4, 6, 3, false, "слезьм", 4, 6, 3}, {"перешептыва", 3, 5, 2, false, "перешептыва", 3, 5, 2}, {"раскаян", 3, 7, 2, false, "раскаян", 3, 7, 2}, {"неисправим", 4, 8, 2, false, "неисправим", 4, 8, 2}, {"цепля", 3, 5, 2, false, "цепля", 3, 5, 2}, {"дворянин", 4, 6, 3, false, "дворянин", 4, 6, 3}, } romance.RunStepTest(t, step4, testCases) }
// Test step1, the removal of standard suffixes. // func Test_step1(t *testing.T) { testCases := []romance.StepTestCase{ {"rapidement", 3, 5, 2, true, "rapid", 3, 5, 2}, {"paresseuse", 3, 5, 3, true, "paress", 3, 5, 3}, {"prosaïqUement", 4, 7, 3, true, "prosaïqU", 4, 7, 3}, {"nonchalance", 3, 7, 2, true, "nonchal", 3, 7, 2}, {"apostoliqUes", 2, 4, 3, true, "apostol", 2, 4, 3}, {"assiduités", 2, 5, 4, true, "assidu", 2, 5, 4}, {"philosophiqUement", 4, 6, 3, true, "philosoph", 4, 6, 3}, {"despotiqUement", 3, 6, 2, true, "despot", 3, 6, 2}, {"incontestablement", 2, 5, 4, true, "incontest", 2, 5, 4}, {"diminution", 3, 5, 2, true, "diminu", 3, 5, 2}, {"séditieuse", 3, 5, 2, true, "séditi", 3, 5, 2}, {"anonymement", 2, 4, 3, true, "anonym", 2, 4, 3}, {"conservation", 3, 6, 2, true, "conserv", 3, 6, 2}, {"fâcheuses", 3, 7, 2, true, "fâcheux", 3, 7, 2}, {"houleuse", 4, 7, 2, true, "houleux", 4, 7, 2}, {"historiqUes", 3, 6, 2, true, "histor", 3, 6, 2}, {"impérieusement", 2, 5, 4, true, "impéri", 2, 5, 4}, {"complaisances", 3, 8, 2, true, "complais", 3, 8, 2}, {"confessionnaux", 3, 6, 2, true, "confessionnal", 3, 6, 2}, {"grandement", 4, 7, 3, true, "grand", 4, 5, 3}, {"passablement", 3, 6, 2, true, "passabl", 3, 6, 2}, {"strictement", 5, 8, 4, true, "strict", 5, 6, 4}, {"physiqUement", 4, 6, 3, true, "physiqU", 4, 6, 3}, {"serieusement", 3, 7, 2, true, "serieux", 3, 7, 2}, {"roulement", 4, 6, 2, true, "roul", 4, 4, 2}, {"appartement", 2, 5, 4, true, "appart", 2, 5, 4}, {"reconnaissance", 3, 5, 2, true, "reconnaiss", 3, 5, 2}, {"aigrement", 3, 6, 3, true, "aigr", 3, 4, 3}, {"impertinences", 2, 5, 4, true, "impertinent", 2, 5, 4}, {"parlement", 3, 6, 3, true, "parl", 3, 4, 3}, {"malicieux", 3, 5, 2, true, "malici", 3, 5, 2}, {"suffisance", 3, 6, 2, true, "suffis", 3, 6, 2}, {"prémédité", 4, 6, 3, true, "préméd", 4, 6, 3}, {"métalliqUes", 3, 5, 2, true, "métall", 3, 5, 2}, {"météorologiste", 3, 6, 2, true, "météorolog", 3, 6, 2}, {"prononciation", 4, 6, 3, true, "prononci", 4, 6, 3}, {"nombreuse", 3, 8, 2, true, "nombreux", 3, 8, 2}, {"extatiqUe", 2, 5, 4, true, "extat", 2, 5, 4}, {"magnifiqUement", 3, 6, 2, true, "magnif", 3, 6, 2}, {"gymnastiqUe", 3, 6, 2, true, "gymnast", 3, 6, 2}, {"dramatiqUe", 4, 6, 3, true, "dramat", 4, 6, 3}, {"simplicité", 3, 7, 2, true, "simpliqU", 3, 7, 2}, {"roYalistes", 3, 5, 2, true, "roYal", 3, 5, 2}, {"fortifications", 3, 6, 2, true, "fortif", 3, 6, 2}, {"attendrissement", 2, 5, 4, true, "attendr", 2, 5, 4}, {"respectueusement", 3, 6, 2, true, "respectu", 3, 6, 2}, {"patriotisme", 3, 7, 2, true, "patriot", 3, 7, 2}, {"curieuse", 3, 7, 2, true, "curieux", 3, 7, 2}, {"fascination", 3, 6, 2, true, "fascin", 3, 6, 2}, {"effectivement", 2, 5, 4, true, "effect", 2, 5, 4}, {"condoléance", 3, 6, 2, true, "condolé", 3, 6, 2}, {"malignité", 3, 5, 2, true, "malign", 3, 5, 2}, {"capricieuse", 3, 6, 2, true, "caprici", 3, 6, 2}, {"applaudissements", 2, 7, 5, true, "applaud", 2, 7, 5}, {"praticable", 4, 6, 3, true, "pratic", 4, 6, 3}, {"rivaux", 3, 6, 2, true, "rival", 3, 5, 2}, {"augmentation", 3, 6, 3, true, "augment", 3, 6, 3}, {"ameublement", 2, 5, 3, true, "ameubl", 2, 5, 3}, {"honorables", 3, 5, 2, true, "honor", 3, 5, 2}, {"effervescence", 2, 5, 4, true, "effervescent", 2, 5, 4}, {"excentricité", 2, 5, 4, true, "excentr", 2, 5, 4}, {"misérable", 3, 5, 2, true, "misér", 3, 5, 2}, {"capitulation", 3, 5, 2, true, "capitul", 3, 5, 2}, {"enjoUement", 2, 5, 4, true, "enjoU", 2, 5, 4}, {"sévérité", 3, 5, 2, true, "sévér", 3, 5, 2}, {"perplexités", 3, 7, 2, true, "perplex", 3, 7, 2}, {"consentement", 3, 6, 2, true, "consent", 3, 6, 2}, {"convocation", 3, 6, 2, true, "convoc", 3, 6, 2}, {"assurances", 2, 5, 4, true, "assur", 2, 5, 4}, {"ébloUissement", 2, 5, 4, true, "ébloU", 2, 5, 4}, {"méridionaux", 3, 5, 2, true, "méridional", 3, 5, 2}, {"dérangements", 3, 5, 2, true, "dérang", 3, 5, 2}, {"domination", 3, 5, 2, true, "domin", 3, 5, 2}, {"incroYable", 2, 6, 5, true, "incroY", 2, 6, 5}, {"réjoUissances", 3, 5, 2, true, "réjoUiss", 3, 5, 2}, {"décadence", 3, 5, 2, true, "décadent", 3, 5, 2}, {"bâillement", 4, 7, 2, true, "bâill", 4, 5, 2}, {"habillement", 3, 5, 2, true, "habill", 3, 5, 2}, {"irréparablement", 2, 5, 4, true, "irrépar", 2, 5, 4}, {"diplomatiqUes", 3, 6, 2, true, "diplomat", 3, 6, 2}, {"distribution", 3, 7, 2, true, "distribu", 3, 7, 2}, {"pétulance", 3, 5, 2, true, "pétul", 3, 5, 2}, {"considérable", 3, 6, 2, true, "considér", 3, 6, 2}, {"éducation", 2, 4, 3, true, "éduc", 2, 4, 3}, {"indications", 2, 5, 4, true, "indiqU", 2, 5, 4}, {"cupidité", 3, 5, 2, true, "cupid", 3, 5, 2}, {"traîtreusement", 5, 9, 3, true, "traîtreux", 5, 9, 3}, {"silencieuse", 3, 5, 2, true, "silenci", 3, 5, 2}, {"pessimisme", 3, 6, 2, true, "pessim", 3, 6, 2}, {"préoccupation", 5, 8, 3, true, "préoccup", 5, 8, 3}, // Special cases that should return false despite // being changed. They "don't count". {"compliment", 3, 7, 2, false, "compli", 3, 6, 2}, {"vraiment", 5, 7, 3, false, "vrai", 4, 4, 3}, {"remercîment", 3, 5, 2, false, "remercî", 3, 5, 2}, {"puissamment", 4, 7, 2, false, "puissant", 4, 7, 2}, {"absolument", 2, 5, 4, false, "absolu", 2, 5, 4}, {"décidément", 3, 5, 2, false, "décidé", 3, 5, 2}, {"condiments", 3, 6, 2, false, "condi", 3, 5, 2}, } romance.RunStepTest(t, step1, testCases) }
// Test step3 // func Test_step3(t *testing.T) { testCases := []romance.StepTestCase{ {"подробност", 3, 6, 2, true, "подробн", 3, 6, 2}, {"подробност", 3, 6, 2, true, "подробн", 3, 6, 2}, {"подробност", 3, 6, 2, true, "подробн", 3, 6, 2}, {"подробност", 3, 6, 2, true, "подробн", 3, 6, 2}, {"подробност", 3, 6, 2, true, "подробн", 3, 6, 2}, {"нерешительность", 3, 5, 2, true, "нерешительн", 3, 5, 2}, {"принадлежност", 4, 6, 3, true, "принадлежн", 4, 6, 3}, {"принадлежност", 4, 6, 3, true, "принадлежн", 4, 6, 3}, {"восторженност", 3, 6, 2, true, "восторженн", 3, 6, 2}, {"недоступност", 3, 5, 2, true, "недоступн", 3, 5, 2}, {"болезненност", 3, 5, 2, true, "болезненн", 3, 5, 2}, {"испакост", 2, 5, 1, true, "испак", 2, 5, 1}, {"холодност", 3, 5, 2, true, "холодн", 3, 5, 2}, {"холодност", 3, 5, 2, true, "холодн", 3, 5, 2}, {"готовност", 3, 5, 2, true, "готовн", 3, 5, 2}, {"ведомост", 3, 5, 2, true, "ведом", 3, 5, 2}, {"ведомост", 3, 5, 2, true, "ведом", 3, 5, 2}, {"непонятливост", 3, 5, 2, true, "непонятлив", 3, 5, 2}, {"неровност", 3, 5, 2, true, "неровн", 3, 5, 2}, {"обидчивост", 2, 4, 1, true, "обидчив", 2, 4, 1}, {"сдержанность", 4, 7, 3, true, "сдержанн", 4, 7, 3}, {"поспешность", 3, 6, 2, true, "поспешн", 3, 6, 2}, {"справедливост", 5, 7, 4, true, "справедлив", 5, 7, 4}, {"справедливост", 5, 7, 4, true, "справедлив", 5, 7, 4}, {"неслиянност", 3, 7, 2, true, "неслиянн", 3, 7, 2}, {"девственност", 3, 8, 2, true, "девственн", 3, 8, 2}, {"насмешливост", 3, 6, 2, true, "насмешлив", 3, 6, 2}, {"определенност", 2, 5, 1, true, "определенн", 2, 5, 1}, {"безотчетност", 3, 5, 2, true, "безотчетн", 3, 5, 2}, {"угодливост", 2, 4, 1, true, "угодлив", 2, 4, 1}, {"брезгливост", 4, 8, 3, true, "брезглив", 4, 8, 3}, {"непочтительност", 3, 5, 2, true, "непочтительн", 3, 5, 2}, {"молодост", 3, 5, 2, true, "молод", 3, 5, 2}, {"молодост", 3, 5, 2, true, "молод", 3, 5, 2}, {"распущенност", 3, 6, 2, true, "распущенн", 3, 6, 2}, {"внутренност", 4, 7, 3, true, "внутренн", 4, 7, 3}, {"безоблачност", 3, 5, 2, true, "безоблачн", 3, 5, 2}, {"ничтожност", 3, 6, 2, true, "ничтожн", 3, 6, 2}, {"безрадостност", 3, 6, 2, true, "безрадостн", 3, 6, 2}, {"неблагонадежност", 3, 6, 2, true, "неблагонадежн", 3, 6, 2}, {"распорядительност", 3, 6, 2, true, "распорядительн", 3, 6, 2}, {"распорядительност", 3, 6, 2, true, "распорядительн", 3, 6, 2}, {"знаменитост", 4, 6, 3, true, "знаменит", 4, 6, 3}, {"знаменитост", 4, 6, 3, true, "знаменит", 4, 6, 3}, {"искренность", 2, 6, 1, true, "искренн", 2, 6, 1}, {"заботливост", 3, 5, 2, true, "заботлив", 3, 5, 2}, {"заботливост", 3, 5, 2, true, "заботлив", 3, 5, 2}, {"заботливост", 3, 5, 2, true, "заботлив", 3, 5, 2}, {"неловкост", 3, 5, 2, true, "неловк", 3, 5, 2}, {"неловкост", 3, 5, 2, true, "неловк", 3, 5, 2}, // False cases {"младенец", 4, 6, 3, false, "младенец", 4, 6, 3}, {"перехитренн", 3, 5, 2, false, "перехитренн", 3, 5, 2}, {"присватыва", 4, 7, 3, false, "присватыва", 4, 7, 3}, {"непорядк", 3, 5, 2, false, "непорядк", 3, 5, 2}, {"попят", 3, 5, 2, false, "попят", 3, 5, 2}, {"меньшинств", 3, 7, 2, false, "меньшинств", 3, 7, 2}, {"увар", 2, 4, 1, false, "увар", 2, 4, 1}, {"покля", 3, 5, 2, false, "покля", 3, 5, 2}, {"отвож", 2, 5, 1, false, "отвож", 2, 5, 1}, {"туд", 3, 3, 2, false, "туд", 3, 3, 2}, {"равнин", 3, 6, 2, false, "равнин", 3, 6, 2}, {"ил", 2, 2, 1, false, "ил", 2, 2, 1}, {"пройденн", 4, 7, 3, false, "пройденн", 4, 7, 3}, {"будет", 3, 5, 2, false, "будет", 3, 5, 2}, {"морг", 3, 4, 2, false, "морг", 3, 4, 2}, {"выставля", 3, 6, 2, false, "выставля", 3, 6, 2}, {"точк", 3, 4, 2, false, "точк", 3, 4, 2}, {"мастерск", 3, 6, 2, false, "мастерск", 3, 6, 2}, {"тих", 3, 3, 2, false, "тих", 3, 3, 2}, {"пригорк", 4, 6, 3, false, "пригорк", 4, 6, 3}, {"ожида", 2, 4, 1, false, "ожида", 2, 4, 1}, {"широк", 3, 5, 2, false, "широк", 3, 5, 2}, {"съеда", 4, 5, 3, false, "съеда", 4, 5, 3}, {"проницательн", 4, 6, 3, false, "проницательн", 4, 6, 3}, {"вычист", 3, 5, 2, false, "вычист", 3, 5, 2}, {"погибнут", 3, 5, 2, false, "погибнут", 3, 5, 2}, {"довод", 3, 5, 2, false, "довод", 3, 5, 2}, {"прошумел", 4, 6, 3, false, "прошумел", 4, 6, 3}, {"летевш", 3, 5, 2, false, "летевш", 3, 5, 2}, {"подслужива", 3, 7, 2, false, "подслужива", 3, 7, 2}, {"тургеневск", 3, 6, 2, false, "тургеневск", 3, 6, 2}, {"выпрыгнул", 3, 6, 2, false, "выпрыгнул", 3, 6, 2}, {"искусств", 2, 5, 1, false, "искусств", 2, 5, 1}, {"подшиван", 3, 6, 2, false, "подшиван", 3, 6, 2}, {"выгон", 3, 5, 2, false, "выгон", 3, 5, 2}, {"вероломств", 3, 5, 2, false, "вероломств", 3, 5, 2}, {"многодумн", 4, 6, 3, false, "многодумн", 4, 6, 3}, {"примирен", 4, 6, 3, false, "примирен", 4, 6, 3}, {"пескин", 3, 6, 2, false, "пескин", 3, 6, 2}, {"рюмочк", 3, 5, 2, false, "рюмочк", 3, 5, 2}, {"бархат", 3, 6, 2, false, "бархат", 3, 6, 2}, {"блеснул", 4, 7, 3, false, "блеснул", 4, 7, 3}, {"посторон", 3, 6, 2, false, "посторон", 3, 6, 2}, {"единовременн", 2, 4, 1, false, "единовременн", 2, 4, 1}, {"воплощен", 3, 6, 2, false, "воплощен", 3, 6, 2}, {"сочиня", 3, 5, 2, false, "сочиня", 3, 5, 2}, {"коробк", 3, 5, 2, false, "коробк", 3, 5, 2}, {"съеш", 4, 4, 3, false, "съеш", 4, 4, 3}, {"арестант", 2, 4, 1, false, "арестант", 2, 4, 1}, {"шепнул", 3, 6, 2, false, "шепнул", 3, 6, 2}, } romance.RunStepTest(t, step3, testCases) }
// Test step2 // func Test_step2(t *testing.T) { testCases := []romance.StepTestCase{ {"незнани", 3, 6, 2, true, "незнан", 3, 6, 2}, {"однообрази", 2, 6, 1, true, "однообраз", 2, 6, 1}, {"развити", 3, 6, 2, true, "развит", 3, 6, 2}, {"развити", 3, 6, 2, true, "развит", 3, 6, 2}, {"милосерди", 3, 5, 2, true, "милосерд", 3, 5, 2}, {"презрени", 4, 7, 3, true, "презрен", 4, 7, 3}, {"заботливости", 3, 5, 2, true, "заботливост", 3, 5, 2}, {"нмени", 4, 5, 3, true, "нмен", 4, 4, 3}, {"соболезновани", 3, 5, 2, true, "соболезнован", 3, 5, 2}, {"продолжени", 4, 6, 3, true, "продолжен", 4, 6, 3}, {"религи", 3, 5, 2, true, "религ", 3, 5, 2}, {"инструкци", 2, 7, 1, true, "инструкц", 2, 7, 1}, {"выпуклости", 3, 5, 2, true, "выпуклост", 3, 5, 2}, {"равнодуши", 3, 6, 2, true, "равнодуш", 3, 6, 2}, {"равнодуши", 3, 6, 2, true, "равнодуш", 3, 6, 2}, {"страдани", 5, 7, 4, true, "страдан", 5, 7, 4}, {"страдани", 5, 7, 4, true, "страдан", 5, 7, 4}, {"тягости", 3, 5, 2, true, "тягост", 3, 5, 2}, {"необходимости", 4, 7, 2, true, "необходимост", 4, 7, 2}, {"юри", 2, 3, 1, true, "юр", 2, 2, 1}, {"фотографи", 3, 5, 2, true, "фотограф", 3, 5, 2}, {"объяснени", 2, 5, 1, true, "объяснен", 2, 5, 1}, {"объяснени", 2, 5, 1, true, "объяснен", 2, 5, 1}, {"движени", 4, 6, 3, true, "движен", 4, 6, 3}, {"движени", 4, 6, 3, true, "движен", 4, 6, 3}, {"видени", 3, 5, 2, true, "виден", 3, 5, 2}, {"подымани", 3, 5, 2, true, "подыман", 3, 5, 2}, {"остервенени", 2, 5, 1, true, "остервенен", 2, 5, 1}, {"организаци", 2, 5, 1, true, "организац", 2, 5, 1}, {"давлени", 3, 6, 2, true, "давлен", 3, 6, 2}, {"мономани", 3, 5, 2, true, "мономан", 3, 5, 2}, {"заглави", 3, 6, 2, true, "заглав", 3, 6, 2}, {"смягчени", 4, 7, 3, true, "смягчен", 4, 7, 3}, {"морфи", 3, 5, 2, true, "морф", 3, 4, 2}, {"оружи", 2, 4, 1, true, "оруж", 2, 4, 1}, {"полупрезрени", 3, 5, 2, true, "полупрезрен", 3, 5, 2}, {"офели", 2, 4, 1, true, "офел", 2, 4, 1}, {"биени", 4, 5, 2, true, "биен", 4, 4, 2}, {"биени", 4, 5, 2, true, "биен", 4, 4, 2}, {"ази", 2, 3, 1, true, "аз", 2, 2, 1}, {"приняти", 4, 6, 3, true, "принят", 4, 6, 3}, {"отолщени", 2, 4, 1, true, "отолщен", 2, 4, 1}, {"негодовани", 3, 5, 2, true, "негодован", 3, 5, 2}, {"знамени", 4, 6, 3, true, "знамен", 4, 6, 3}, {"благоговени", 4, 6, 3, true, "благоговен", 4, 6, 3}, {"обожани", 2, 4, 1, true, "обожан", 2, 4, 1}, {"евгени", 2, 5, 1, true, "евген", 2, 5, 1}, {"комеди", 3, 5, 2, true, "комед", 3, 5, 2}, {"показани", 3, 5, 2, true, "показан", 3, 5, 2}, {"поручени", 3, 5, 2, true, "поручен", 3, 5, 2}, // False cases {"устраня", 2, 6, 1, false, "устраня", 2, 6, 1}, {"устраня", 2, 6, 1, false, "устраня", 2, 6, 1}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"ваш", 3, 3, 2, false, "ваш", 3, 3, 2}, {"изум", 2, 4, 1, false, "изум", 2, 4, 1}, {"изум", 2, 4, 1, false, "изум", 2, 4, 1}, {"изум", 2, 4, 1, false, "изум", 2, 4, 1}, {"изум", 2, 4, 1, false, "изум", 2, 4, 1}, {"изум", 2, 4, 1, false, "изум", 2, 4, 1}, {"постарет", 3, 6, 2, false, "постарет", 3, 6, 2}, {"соснов", 3, 6, 2, false, "соснов", 3, 6, 2}, {"развязыва", 3, 6, 2, false, "развязыва", 3, 6, 2}, {"жуковск", 3, 5, 2, false, "жуковск", 3, 5, 2}, {"разгоня", 3, 6, 2, false, "разгоня", 3, 6, 2}, {"безнравственн", 3, 7, 2, false, "безнравственн", 3, 7, 2}, {"безнравственн", 3, 7, 2, false, "безнравственн", 3, 7, 2}, {"безнравственн", 3, 7, 2, false, "безнравственн", 3, 7, 2}, {"безнравственн", 3, 7, 2, false, "безнравственн", 3, 7, 2}, {"безнравственн", 3, 7, 2, false, "безнравственн", 3, 7, 2}, {"неотеса", 4, 6, 2, false, "неотеса", 4, 6, 2}, {"кудряв", 3, 6, 2, false, "кудряв", 3, 6, 2}, {"протерт", 4, 6, 3, false, "протерт", 4, 6, 3}, {"лавочк", 3, 5, 2, false, "лавочк", 3, 5, 2}, {"лавочк", 3, 5, 2, false, "лавочк", 3, 5, 2}, {"лавочк", 3, 5, 2, false, "лавочк", 3, 5, 2}, {"лавочк", 3, 5, 2, false, "лавочк", 3, 5, 2}, {"лавочк", 3, 5, 2, false, "лавочк", 3, 5, 2}, {"лавочк", 3, 5, 2, false, "лавочк", 3, 5, 2}, {"панорам", 3, 5, 2, false, "панорам", 3, 5, 2}, {"панорам", 3, 5, 2, false, "панорам", 3, 5, 2}, {"панорам", 3, 5, 2, false, "панорам", 3, 5, 2}, {"торопливост", 3, 5, 2, false, "торопливост", 3, 5, 2}, {"дщер", 4, 4, 3, false, "дщер", 4, 4, 3}, {"заболева", 3, 5, 2, false, "заболева", 3, 5, 2}, {"заболева", 3, 5, 2, false, "заболева", 3, 5, 2}, {"заколдова", 3, 5, 2, false, "заколдова", 3, 5, 2}, {"заколдова", 3, 5, 2, false, "заколдова", 3, 5, 2}, {"додума", 3, 5, 2, false, "додума", 3, 5, 2}, {"додума", 3, 5, 2, false, "додума", 3, 5, 2}, } romance.RunStepTest(t, step2, testCases) }
// Test step1 // func Test_step1(t *testing.T) { testCases := []romance.StepTestCase{ {"оснеженные", 2, 5, 1, true, "оснеженн", 2, 5, 1}, {"умираю", 2, 4, 1, true, "умира", 2, 4, 1}, {"старосте", 4, 6, 3, true, "старост", 4, 6, 3}, {"вспугнуть", 5, 8, 4, true, "вспугнут", 5, 8, 4}, {"отстаньте", 2, 6, 1, true, "отстаньт", 2, 6, 1}, {"летние", 3, 6, 2, true, "летн", 3, 4, 2}, {"густой", 3, 6, 2, true, "густ", 3, 4, 2}, {"кутью", 3, 5, 2, true, "куть", 3, 4, 2}, {"социальный", 3, 6, 2, true, "социальн", 3, 6, 2}, {"сшедший", 4, 7, 3, true, "сшедш", 4, 5, 3}, {"силою", 3, 5, 2, true, "сил", 3, 3, 2}, {"мельницы", 3, 7, 2, true, "мельниц", 3, 7, 2}, {"блюдечками", 4, 6, 3, true, "блюдечк", 4, 6, 3}, {"частном", 3, 7, 2, true, "частн", 3, 5, 2}, {"сухарь", 3, 5, 2, true, "сухар", 3, 5, 2}, {"шатаясь", 3, 6, 2, true, "шат", 3, 3, 2}, {"пылают", 3, 6, 2, true, "пыла", 3, 4, 2}, {"оглядывает", 2, 5, 1, true, "оглядыва", 2, 5, 1}, {"многоуважаемая", 4, 7, 3, true, "многоуважа", 4, 7, 3}, {"носками", 3, 6, 2, true, "носк", 3, 4, 2}, {"согрешил", 3, 6, 2, true, "согреш", 3, 6, 2}, {"почесть", 3, 5, 2, true, "почест", 3, 5, 2}, {"резвому", 3, 6, 2, true, "резв", 3, 4, 2}, {"сверкнувший", 4, 8, 3, true, "сверкнувш", 4, 8, 3}, {"стерегла", 4, 6, 3, true, "стерегл", 4, 6, 3}, {"удалюсь", 2, 4, 1, true, "удал", 2, 4, 1}, {"бульдоге", 3, 7, 2, true, "бульдог", 3, 7, 2}, {"житья", 3, 5, 2, true, "жит", 3, 3, 2}, {"учился", 2, 4, 1, true, "уч", 2, 2, 1}, {"невысокому", 3, 5, 2, true, "невысок", 3, 5, 2}, {"сновать", 4, 6, 3, true, "снова", 4, 5, 3}, {"оли", 2, 3, 1, true, "ол", 2, 2, 1}, {"освежить", 2, 5, 1, true, "освеж", 2, 5, 1}, {"хлынуло", 4, 6, 3, true, "хлынул", 4, 6, 3}, {"ветхий", 3, 6, 2, true, "ветх", 3, 4, 2}, {"покончив", 3, 5, 2, true, "поконч", 3, 5, 2}, {"веселее", 3, 5, 2, true, "весел", 3, 5, 2}, {"пантелеевна", 3, 6, 2, true, "пантелеевн", 3, 6, 2}, {"трепещущий", 4, 6, 3, true, "трепещущ", 4, 6, 3}, {"опустошаются", 2, 4, 1, true, "опустоша", 2, 4, 1}, {"скажите", 4, 6, 3, true, "скаж", 4, 4, 3}, {"пригрозили", 4, 7, 3, true, "пригроз", 4, 7, 3}, {"кузнеца", 3, 6, 2, true, "кузнец", 3, 6, 2}, {"эстетическое", 2, 5, 1, true, "эстетическ", 2, 5, 1}, {"проделки", 4, 6, 3, true, "проделк", 4, 6, 3}, {"согласится", 3, 6, 2, true, "соглас", 3, 6, 2}, {"скуку", 4, 5, 3, true, "скук", 4, 4, 3}, {"поданы", 3, 5, 2, true, "пода", 3, 4, 2}, {"походкой", 3, 5, 2, true, "походк", 3, 5, 2}, {"поважнее", 3, 5, 2, true, "поважн", 3, 5, 2}, {"лотереей", 3, 5, 2, true, "лотере", 3, 5, 2}, {"парнике", 3, 6, 2, true, "парник", 3, 6, 2}, {"содом", 3, 5, 2, true, "сод", 3, 3, 2}, {"полученному", 3, 5, 2, true, "полученн", 3, 5, 2}, {"проезжавшую", 5, 8, 3, true, "проезжа", 5, 7, 3}, {"едучи", 2, 4, 1, true, "едуч", 2, 4, 1}, {"помнишь", 3, 6, 2, true, "помн", 3, 4, 2}, {"греховные", 4, 6, 3, true, "греховн", 4, 6, 3}, {"кухарке", 3, 5, 2, true, "кухарк", 3, 5, 2}, {"запретишь", 3, 6, 2, true, "запрет", 3, 6, 2}, {"похолодели", 3, 5, 2, true, "похолодел", 3, 5, 2}, {"опамятовавшись", 2, 4, 1, true, "опамятова", 2, 4, 1}, {"валяются", 3, 6, 2, true, "валя", 3, 4, 2}, {"николаевском", 3, 5, 2, true, "николаевск", 3, 5, 2}, {"физиология", 3, 6, 2, true, "физиолог", 3, 6, 2}, {"захромала", 3, 6, 2, true, "захрома", 3, 6, 2}, {"суйся", 3, 5, 2, true, "су", 2, 2, 2}, {"бесплодного", 3, 7, 2, true, "бесплодн", 3, 7, 2}, {"спасения", 4, 6, 3, true, "спасен", 4, 6, 3}, {"неумолкаемый", 4, 6, 2, true, "неумолка", 4, 6, 2}, {"идиотством", 2, 5, 1, true, "идиотств", 2, 5, 1}, {"влюбленной", 4, 7, 3, true, "влюбленн", 4, 7, 3}, {"родионом", 3, 6, 2, true, "родион", 3, 6, 2}, {"морщился", 3, 6, 2, true, "морщ", 3, 4, 2}, {"истерзанной", 2, 5, 1, true, "истерза", 2, 5, 1}, {"обвинила", 2, 5, 1, true, "обвин", 2, 5, 1}, {"загадочным", 3, 5, 2, true, "загадочн", 3, 5, 2}, {"заикнитесь", 4, 7, 2, true, "заикн", 4, 5, 2}, {"пелериной", 3, 5, 2, true, "пелерин", 3, 5, 2}, {"ловко", 3, 5, 2, true, "ловк", 3, 4, 2}, {"обличий", 2, 5, 1, true, "облич", 2, 5, 1}, {"потасканной", 3, 5, 2, true, "потаска", 3, 5, 2}, {"ненасытную", 3, 5, 2, true, "ненасытн", 3, 5, 2}, {"засверкал", 3, 6, 2, true, "засверка", 3, 6, 2}, {"сидишь", 3, 5, 2, true, "сид", 3, 3, 2}, {"выступление", 3, 6, 2, true, "выступлен", 3, 6, 2}, {"дивное", 3, 6, 2, true, "дивн", 3, 4, 2}, {"распечатывать", 3, 6, 2, true, "распечатыва", 3, 6, 2}, {"неучтивости", 4, 7, 2, true, "неучтивост", 4, 7, 2}, {"устремлены", 2, 6, 1, true, "устремл", 2, 6, 1}, {"голубых", 3, 5, 2, true, "голуб", 3, 5, 2}, {"четвертый", 3, 6, 2, true, "четверт", 3, 6, 2}, {"властному", 4, 8, 3, true, "властн", 4, 6, 3}, {"стыдливо", 4, 7, 3, true, "стыдлив", 4, 7, 3}, {"фигуре", 3, 5, 2, true, "фигур", 3, 5, 2}, {"подкараулил", 3, 6, 2, true, "подкараул", 3, 6, 2}, {"неосторожно", 4, 7, 2, true, "неосторожн", 4, 7, 2}, {"особых", 2, 4, 1, true, "особ", 2, 4, 1}, {"валерию", 3, 5, 2, true, "валери", 3, 5, 2}, {"проходят", 4, 6, 3, true, "проход", 4, 6, 3}, // False cases {"список", 4, 6, 3, false, "список", 4, 6, 3}, {"погорячатся", 3, 5, 2, false, "погорячат", 3, 5, 2}, {"пропеллер", 4, 6, 3, false, "пропеллер", 4, 6, 3}, {"телефон", 3, 5, 2, false, "телефон", 3, 5, 2}, {"кухарок", 3, 5, 2, false, "кухарок", 3, 5, 2}, {"сошьет", 3, 6, 2, false, "сошьет", 3, 6, 2}, {"проникся", 4, 6, 3, false, "проник", 4, 6, 3}, {"стол", 4, 4, 3, false, "стол", 4, 4, 3}, {"смахнет", 4, 7, 3, false, "смахнет", 4, 7, 3}, {"торжеств", 3, 6, 2, false, "торжеств", 3, 6, 2}, {"убор", 2, 4, 1, false, "убор", 2, 4, 1}, {"тают", 4, 4, 2, false, "тают", 4, 4, 2}, {"обнес", 2, 5, 1, false, "обнес", 2, 5, 1}, {"промелькнет", 4, 6, 3, false, "промелькнет", 4, 6, 3}, {"екатерингоф", 2, 4, 1, false, "екатерингоф", 2, 4, 1}, {"упадет", 2, 4, 1, false, "упадет", 2, 4, 1}, {"продавец", 4, 6, 3, false, "продавец", 4, 6, 3}, {"рос", 3, 3, 2, false, "рос", 3, 3, 2}, {"огляделся", 2, 5, 1, false, "оглядел", 2, 5, 1}, {"пошепчут", 3, 5, 2, false, "пошепчут", 3, 5, 2}, {"сошелся", 3, 5, 2, false, "сошел", 3, 5, 2}, {"курс", 3, 4, 2, false, "курс", 3, 4, 2}, {"вяз", 3, 3, 2, false, "вяз", 3, 3, 2}, {"привлек", 4, 7, 3, false, "привлек", 4, 7, 3}, {"копеек", 3, 6, 2, false, "копеек", 3, 6, 2}, {"хочется", 3, 5, 2, false, "хочет", 3, 5, 2}, {"лорнет", 3, 6, 2, false, "лорнет", 3, 6, 2}, {"махнув", 3, 6, 2, false, "махнув", 3, 6, 2}, {"дворянин", 4, 6, 3, false, "дворянин", 4, 6, 3}, {"испанец", 2, 5, 1, false, "испанец", 2, 5, 1}, {"выздоровел", 3, 6, 2, false, "выздоровел", 3, 6, 2}, {"попыток", 3, 5, 2, false, "попыток", 3, 5, 2}, {"пространств", 4, 8, 3, false, "пространств", 4, 8, 3}, {"мус", 3, 3, 2, false, "мус", 3, 3, 2}, {"сенат", 3, 5, 2, false, "сенат", 3, 5, 2}, {"блин", 4, 4, 3, false, "блин", 4, 4, 3}, {"жгут", 4, 4, 3, false, "жгут", 4, 4, 3}, {"ликург", 3, 5, 2, false, "ликург", 3, 5, 2}, {"люд", 3, 3, 2, false, "люд", 3, 3, 2}, {"тьме", 4, 4, 4, false, "тьме", 4, 4, 4}, {"сундучок", 3, 6, 2, false, "сундучок", 3, 6, 2}, {"убьет", 2, 5, 1, false, "убьет", 2, 5, 1}, {"чем", 3, 3, 2, false, "чем", 3, 3, 2}, {"фонарик", 3, 5, 2, false, "фонарик", 3, 5, 2}, {"холм", 3, 4, 2, false, "холм", 3, 4, 2}, {"окинув", 2, 4, 1, false, "окинув", 2, 4, 1}, {"границ", 4, 6, 3, false, "границ", 4, 6, 3}, {"сам", 3, 3, 2, false, "сам", 3, 3, 2}, {"овчинин", 2, 5, 1, false, "овчинин", 2, 5, 1}, {"ков", 3, 3, 2, false, "ков", 3, 3, 2}, } romance.RunStepTest(t, step1, testCases) }
// Test step1, the removal of standard suffixes. // func Test_step1(t *testing.T) { testCases := []romance.StepTestCase{ {"retrospectiva", 3, 6, 3, true, "retrospect", 3, 6, 3}, {"emperador", 2, 5, 4, true, "emper", 2, 5, 4}, {"instalaciones", 2, 6, 5, true, "instal", 2, 6, 5}, {"finiquitación", 3, 5, 3, true, "finiquit", 3, 5, 3}, {"definitivamente", 3, 5, 3, true, "definit", 3, 5, 3}, {"turísticas", 3, 5, 3, true, "turíst", 3, 5, 3}, {"puntualizaciones", 3, 7, 3, true, "puntualiz", 3, 7, 3}, {"fehacientemente", 3, 5, 3, true, "fehaciente", 3, 5, 3}, {"determinaciones", 3, 5, 3, true, "determin", 3, 5, 3}, {"irrelevante", 2, 5, 4, true, "irrelev", 2, 5, 4}, {"autoritarismo", 3, 5, 3, true, "autoritar", 3, 5, 3}, {"paralizante", 3, 5, 3, true, "paraliz", 3, 5, 3}, {"pediátrica", 3, 6, 3, true, "pediátr", 3, 6, 3}, {"británicos", 4, 6, 3, true, "britán", 4, 6, 3}, {"ayuntamientos", 2, 4, 3, true, "ayunt", 2, 4, 3}, {"sobrecalentamiento", 3, 6, 3, true, "sobrecalent", 3, 6, 3}, {"inocencia", 2, 4, 3, true, "inocente", 2, 4, 3}, {"amabilidad", 2, 4, 3, true, "amabil", 2, 4, 3}, {"personalidad", 3, 6, 3, true, "personal", 3, 6, 3}, {"vacunación", 3, 5, 3, true, "vacun", 3, 5, 3}, {"digestivos", 3, 5, 3, true, "digest", 3, 5, 3}, {"mecánica", 3, 5, 3, true, "mecán", 3, 5, 3}, {"sistemáticas", 3, 6, 3, true, "sistemát", 3, 6, 3}, {"programático", 4, 7, 3, true, "programát", 4, 7, 3}, {"incitación", 2, 5, 4, true, "incit", 2, 5, 4}, {"inicialmente", 2, 4, 3, true, "inicial", 2, 4, 3}, {"derivación", 3, 5, 3, true, "deriv", 3, 5, 3}, {"fraccionamientos", 4, 8, 3, true, "fraccion", 4, 8, 3}, {"frecuentemente", 4, 7, 3, true, "frecuente", 4, 7, 3}, {"econometristas", 2, 4, 3, true, "econometr", 2, 4, 3}, {"mentirosas", 3, 6, 3, true, "mentir", 3, 6, 3}, {"eficientemente", 2, 4, 3, true, "eficiente", 2, 4, 3}, {"utilidades", 2, 4, 3, true, "util", 2, 4, 3}, {"rehabilitación", 3, 5, 3, true, "rehabilit", 3, 5, 3}, {"adquisitivo", 2, 6, 4, true, "adquisit", 2, 6, 4}, {"consignación", 3, 6, 3, true, "consign", 3, 6, 3}, {"concursante", 3, 6, 3, true, "concurs", 3, 6, 3}, {"criminalidad", 4, 6, 3, true, "criminal", 4, 6, 3}, {"invitación", 2, 5, 4, true, "invit", 2, 5, 4}, {"adherencia", 2, 5, 4, true, "adherente", 2, 5, 4}, {"animalización", 2, 4, 3, true, "animaliz", 2, 4, 3}, {"enteramente", 2, 5, 4, true, "enter", 2, 5, 4}, {"deportivos", 3, 5, 3, true, "deport", 3, 5, 3}, {"controladora", 3, 7, 3, true, "control", 3, 7, 3}, {"edifico", 2, 4, 3, true, "edif", 2, 4, 3}, {"planificación", 4, 6, 3, true, "planif", 4, 6, 3}, {"expectación", 2, 5, 4, true, "expect", 2, 5, 4}, {"cosméticos", 3, 6, 3, true, "cosmét", 3, 6, 3}, {"cómodamente", 3, 5, 3, true, "cómod", 3, 5, 3}, {"intempestivamente", 2, 5, 4, true, "intempest", 2, 5, 4}, {"cetemistas", 3, 5, 3, true, "cetem", 3, 5, 3}, {"presumiblemente", 4, 6, 3, true, "presum", 4, 6, 3}, {"reivindicación", 4, 6, 3, true, "reivind", 4, 6, 3}, {"ventajosa", 3, 6, 3, true, "ventaj", 3, 6, 3}, {"atmosférico", 2, 5, 4, true, "atmosfér", 2, 5, 4}, {"subprocurador", 3, 7, 3, true, "subprocur", 3, 7, 3}, {"estadísticas", 2, 5, 4, true, "estadíst", 2, 5, 4}, {"respetuoso", 3, 6, 3, true, "respetu", 3, 6, 3}, {"procedimiento", 4, 6, 3, true, "proced", 4, 6, 3}, {"seguramente", 3, 5, 3, true, "segur", 3, 5, 3}, {"autocalifica", 3, 5, 3, true, "autocalif", 3, 5, 3}, {"esporádica", 2, 5, 4, true, "esporád", 2, 5, 4}, {"caudalosos", 4, 6, 3, true, "caudal", 4, 6, 3}, {"imperdonable", 2, 5, 4, true, "imperdon", 2, 5, 4}, {"magníficas", 3, 6, 3, true, "magníf", 3, 6, 3}, {"erróneamente", 2, 5, 4, true, "erróne", 2, 5, 4}, {"conmemorativa", 3, 6, 3, true, "conmemor", 3, 6, 3}, {"simulación", 3, 5, 3, true, "simul", 3, 5, 3}, {"arrendadora", 2, 5, 4, true, "arrend", 2, 5, 4}, {"moralización", 3, 5, 3, true, "moraliz", 3, 5, 3}, {"accesibles", 2, 5, 4, true, "acces", 2, 5, 4}, {"infidelidades", 2, 5, 4, true, "infidel", 2, 5, 4}, {"abdicación", 2, 5, 4, true, "abdic", 2, 5, 4}, {"airecombustible", 3, 5, 3, true, "airecombust", 3, 5, 3}, {"escuetamente", 2, 6, 4, true, "escuet", 2, 6, 4}, {"exóticos", 2, 4, 3, true, "exót", 2, 4, 3}, {"volcánica", 3, 6, 3, true, "volcán", 3, 6, 3}, {"oceánico", 2, 5, 3, true, "oceán", 2, 5, 3}, {"simulador", 3, 5, 3, true, "simul", 3, 5, 3}, {"compañerismo", 3, 6, 3, true, "compañer", 3, 6, 3}, {"fagotistas", 3, 5, 3, true, "fagot", 3, 5, 3}, {"cardenistas", 3, 6, 3, true, "carden", 3, 6, 3}, {"periférico", 3, 5, 3, true, "perifér", 3, 5, 3}, {"petroquímica", 3, 6, 3, true, "petroquím", 3, 6, 3}, {"columnista", 3, 5, 3, true, "column", 3, 5, 3}, {"comportamientos", 3, 6, 3, true, "comport", 3, 6, 3}, {"fanáticos", 3, 5, 3, true, "fanát", 3, 5, 3}, {"significativo", 3, 6, 3, true, "signific", 3, 6, 3}, {"turísticos", 3, 5, 3, true, "turíst", 3, 5, 3}, {"divergencias", 3, 5, 3, true, "divergente", 3, 5, 3}, {"lamentable", 3, 5, 3, true, "lament", 3, 5, 3}, {"estratosféricas", 2, 6, 5, true, "estratosfér", 2, 6, 5}, {"emigrantes", 2, 4, 3, true, "emigr", 2, 4, 3}, {"ahorrador", 2, 4, 3, true, "ahorr", 2, 4, 3}, {"transportaciones", 4, 8, 3, true, "transport", 4, 8, 3}, {"atomizador", 2, 4, 3, true, "atomiz", 2, 4, 3}, {"dolorosa", 3, 5, 3, true, "dolor", 3, 5, 3}, {"enervantes", 2, 4, 3, true, "enerv", 2, 4, 3}, {"gobernador", 3, 5, 3, true, "gobern", 3, 5, 3}, {"inexplicable", 2, 4, 3, true, "inexplic", 2, 4, 3}, } romance.RunStepTest(t, step1, testCases) }
// Test step0, the removal of pronoun suffixes. // func Test_step0(t *testing.T) { testCases := []romance.StepTestCase{ {"liberarlo", 3, 5, 3, true, "liberar", 3, 5, 3}, {"ejecutarse", 2, 4, 3, true, "ejecutar", 2, 4, 3}, {"convirtiéndolas", 3, 6, 3, true, "convirtiendo", 3, 6, 3}, {"perfeccionarlo", 3, 6, 3, true, "perfeccionar", 3, 6, 3}, {"formarlo", 3, 6, 3, true, "formar", 3, 6, 3}, {"negociarlo", 3, 5, 3, true, "negociar", 3, 5, 3}, {"dirigirla", 3, 5, 3, true, "dirigir", 3, 5, 3}, {"malograrlas", 3, 5, 3, true, "malograr", 3, 5, 3}, {"atacarlos", 2, 4, 3, true, "atacar", 2, 4, 3}, {"originarla", 2, 4, 3, true, "originar", 2, 4, 3}, {"ponerlos", 3, 5, 3, true, "poner", 3, 5, 3}, {"ubicándolo", 2, 4, 3, true, "ubicando", 2, 4, 3}, {"dejarme", 3, 5, 3, true, "dejar", 3, 5, 3}, {"regalarnos", 3, 5, 3, true, "regalar", 3, 5, 3}, {"resolverlas", 3, 5, 3, true, "resolver", 3, 5, 3}, {"esperarse", 2, 5, 4, true, "esperar", 2, 5, 4}, {"cuidarlo", 4, 6, 3, true, "cuidar", 4, 6, 3}, {"empezarlos", 2, 5, 4, true, "empezar", 2, 5, 4}, {"gastarla", 3, 6, 3, true, "gastar", 3, 6, 3}, {"levantarme", 3, 5, 3, true, "levantar", 3, 5, 3}, {"ausentarse", 3, 5, 3, true, "ausentar", 3, 5, 3}, {"colocándose", 3, 5, 3, true, "colocando", 3, 5, 3}, {"suponerse", 3, 5, 3, true, "suponer", 3, 5, 3}, {"someterlos", 3, 5, 3, true, "someter", 3, 5, 3}, {"criticarlos", 4, 6, 3, true, "criticar", 4, 6, 3}, {"consolidarlo", 3, 6, 3, true, "consolidar", 3, 6, 3}, {"globalizarse", 4, 6, 3, true, "globalizar", 4, 6, 3}, {"corregirla", 3, 6, 3, true, "corregir", 3, 6, 3}, {"aplicarle", 2, 5, 4, true, "aplicar", 2, 5, 4}, {"casarse", 3, 5, 3, true, "casar", 3, 5, 3}, {"costándole", 3, 6, 3, true, "costando", 3, 6, 3}, {"rescindirlo", 3, 6, 3, true, "rescindir", 3, 6, 3}, {"quitándole", 4, 6, 3, true, "quitando", 4, 6, 3}, {"conservarse", 3, 6, 3, true, "conservar", 3, 6, 3}, {"venderlo", 3, 6, 3, true, "vender", 3, 6, 3}, {"garantizarse", 3, 5, 3, true, "garantizar", 3, 5, 3}, {"disfrutarse", 3, 7, 3, true, "disfrutar", 3, 7, 3}, {"comunicarse", 3, 5, 3, true, "comunicar", 3, 5, 3}, {"propiciarse", 4, 6, 3, true, "propiciar", 4, 6, 3}, {"otorgarnos", 2, 4, 3, true, "otorgar", 2, 4, 3}, {"contorsionarse", 3, 6, 3, true, "contorsionar", 3, 6, 3}, {"motivarlas", 3, 5, 3, true, "motivar", 3, 5, 3}, {"congelarse", 3, 6, 3, true, "congelar", 3, 6, 3}, {"generandoles", 3, 5, 3, true, "generando", 3, 5, 3}, {"evitarlo", 2, 4, 3, true, "evitar", 2, 4, 3}, {"atenderlos", 2, 4, 3, true, "atender", 2, 4, 3}, {"apoyándola", 2, 4, 3, true, "apoyando", 2, 4, 3}, {"pasarse", 3, 5, 3, true, "pasar", 3, 5, 3}, {"escucharlos", 2, 5, 4, true, "escuchar", 2, 5, 4}, {"intervenirse", 2, 5, 4, true, "intervenir", 2, 5, 4}, {"contratarle", 3, 7, 3, true, "contratar", 3, 7, 3}, {"retirándose", 3, 5, 3, true, "retirando", 3, 5, 3}, {"quitarles", 4, 6, 3, true, "quitar", 4, 6, 3}, {"reforzarlas", 3, 5, 3, true, "reforzar", 3, 5, 3}, {"obtenerla", 2, 5, 4, true, "obtener", 2, 5, 4}, {"considerarlo", 3, 6, 3, true, "considerar", 3, 6, 3}, {"regresarse", 3, 6, 3, true, "regresar", 3, 6, 3}, {"ponerse", 3, 5, 3, true, "poner", 3, 5, 3}, {"llevándose", 4, 6, 3, true, "llevando", 4, 6, 3}, {"ocuparse", 2, 4, 3, true, "ocupar", 2, 4, 3}, {"aprovecharse", 2, 5, 4, true, "aprovechar", 2, 5, 4}, {"corregirlo", 3, 6, 3, true, "corregir", 3, 6, 3}, {"probarle", 4, 6, 3, true, "probar", 4, 6, 3}, {"comernos", 3, 5, 3, true, "comer", 3, 5, 3}, {"iniciarme", 2, 4, 3, true, "iniciar", 2, 4, 3}, {"concentrarse", 3, 6, 3, true, "concentrar", 3, 6, 3}, {"llevarse", 4, 6, 3, true, "llevar", 4, 6, 3}, {"difundirlo", 3, 5, 3, true, "difundir", 3, 5, 3}, {"basándose", 3, 5, 3, true, "basando", 3, 5, 3}, {"destinarlos", 3, 6, 3, true, "destinar", 3, 6, 3}, {"reubicarse", 4, 6, 3, true, "reubicar", 4, 6, 3}, {"manteniéndose", 3, 6, 3, true, "manteniendo", 3, 6, 3}, {"colocarla", 3, 5, 3, true, "colocar", 3, 5, 3}, {"pasarles", 3, 5, 3, true, "pasar", 3, 5, 3}, {"depositarse", 3, 5, 3, true, "depositar", 3, 5, 3}, {"tragarse", 4, 6, 3, true, "tragar", 4, 6, 3}, {"eliminarla", 2, 4, 3, true, "eliminar", 2, 4, 3}, {"eliminarse", 2, 4, 3, true, "eliminar", 2, 4, 3}, {"apegarnos", 2, 4, 3, true, "apegar", 2, 4, 3}, {"asociarse", 2, 4, 3, true, "asociar", 2, 4, 3}, {"cambiarlos", 3, 7, 3, true, "cambiar", 3, 7, 3}, {"envolviéndose", 2, 5, 4, true, "envolviendo", 2, 5, 4}, {"lograrse", 3, 6, 3, true, "lograr", 3, 6, 3}, {"mostrarse", 3, 7, 3, true, "mostrar", 3, 7, 3}, {"pasarle", 3, 5, 3, true, "pasar", 3, 5, 3}, {"enfrentándose", 2, 6, 5, true, "enfrentando", 2, 6, 5}, {"permitirse", 3, 6, 3, true, "permitir", 3, 6, 3}, {"sanearlas", 3, 6, 3, true, "sanear", 3, 6, 3}, {"refugiarse", 3, 5, 3, true, "refugiar", 3, 5, 3}, {"relacionarse", 3, 5, 3, true, "relacionar", 3, 5, 3}, {"sacarlo", 3, 5, 3, true, "sacar", 3, 5, 3}, {"organizarse", 2, 5, 4, true, "organizar", 2, 5, 4}, {"familiarizarse", 3, 5, 3, true, "familiarizar", 3, 5, 3}, {"decidirse", 3, 5, 3, true, "decidir", 3, 5, 3}, {"tomarle", 3, 5, 3, true, "tomar", 3, 5, 3}, {"volverlas", 3, 6, 3, true, "volver", 3, 6, 3}, {"efectuarse", 2, 4, 3, true, "efectuar", 2, 4, 3}, {"elegirse", 2, 4, 3, true, "elegir", 2, 4, 3}, {"establecerse", 2, 5, 4, true, "establecer", 2, 5, 4}, {"ponerles", 3, 5, 3, true, "poner", 3, 5, 3}, } romance.RunStepTest(t, step0, testCases) }