Example #1
0
// 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)
}
Example #2
0
// 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)
}
Example #3
0
// 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)
}
Example #4
0
// 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)
}
Example #5
0
// 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)
}
Example #6
0
// 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)

}
Example #7
0
// 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)

}
Example #8
0
// 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)

}
Example #9
0
// 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)

}
Example #10
0
// 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)
}
Example #11
0
// 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)
}