Ich habe einen Parser für Formeln wie (1+2)*3 geschrieben. Der Parser erzeugt einen Parse-Tree wie in diesem Fall
new Mul(new Add(new Const(1), new Const(2)), new Const(3))
Ich habe den Parser jetzt für einige Fälle mit Unit Tests geprüft, ich stelle aber immer wieder weitere Fälle fest, die mir noch nicht eingefallen waren, die aber Fehler enthalten. Wie gehe ich am besten vor, um den Parser möglichst 100%ig zu testen?
Dieser Test testet, das für alle inputs gilt: Entweder wird ein Syntaxbaum geparst oder es gibt eine Parsing-Exception (aber keine NullReferenceException z.B.). Das geniale ist jetzt, dass Pex den Test für lauter interessante Inputs ausführt und so ziemlich schnell deinen _ganzen_ Parser mit einem Test checkt.