private void testParaules(RTest resultat, Identificador idPar, Marques filtre, params string[] paraules) { List<Entrada> entrades = new List<Entrada>(); List<string> notes = new List<string>(); foreach (string paraula in paraules) { string infoParaula = paraula; string[] esperat = null; int posFletxa = paraula.IndexOf(" > "); if (posFletxa >= 0) { infoParaula = paraula.Substring(0, posFletxa); esperat = paraula.Substring(posFletxa + 3).Split(' '); } Entrada entrada = idPar.IdentificaEntrada(infoParaula); entrades.Add(entrada); string llista = Mot.LlistaPlana(entrada.GeneraMots(filtre, false), Cat.Cmp, true); bool ok = true; if (esperat != null) foreach (string esp in esperat) if (!(llista + " ").Contains(esp + " ")) { notes.Add(string.Format("No s'ha generat {0} ({1})", esp, entrada.Arrel)); ok = false; } resultat.Nota("{0}: {1}", entrada.Ent, ok ? "OK" : "ERROR"); } if (notes.Count > 0) { resultat.Assert(false, "Hi ha {0} error{1}", notes.Count, notes.Count == 1 ? "" : "s"); foreach (string nota in notes) resultat.Nota(nota); } }
/// <summary> /// Crea amb una descripció, un grup i una funció de prova. /// Es considera que el test ha funcionat si la funció torna true. /// Es considera que el test ha fallat si torna false o /// </summary> /// <param name="descripcio">La descripció del test</param> /// <param name="grup">El grup a què pertanyerà aquest test</param> /// <param name="test">El cos de la funció de prova</param> public Test(string descripcio, GrupTest grup, FTest test) : base(descripcio, grup) { resultat = new RTest(); try { test(resultat); } catch (Exception ex) { resultat.Error("No s'ha completat ({0}) [{1}]", ex.Message, ex.StackTrace); } }
private void testParaules(RTest resultat, Identificador idPar, params string[] paraules) { testParaules(resultat, idPar, Marques.totes, paraules); }