パラメーターを取る ANTLR のパーサー ルールがあります。
tincture [Tinctures tinctures] returns [Tincture tincture]
: { String tinctureName = ""; }
( COLOUR { tinctureName = $COLOUR.text; }
| METAL { tinctureName = $METAL.text; }
| FUR { tinctureName = $FUR.text; }
)
{
try {
$tincture = tinctures.getTincture(tinctureName);
} catch (UnknownTinctureException e) {
throw new MyRecognitionException("Unknown tincture found.", e);
}
}
;
GUnitでこれのテストを書くにはどうすればよいですか?
パラメータがないため、レクサールールのテストを正常に作成できました。次のように書くと、「java.lang.NoSuchMethodException: mypackage.BlazonParser.tincture()」が発生します。
tincture
: "gules" OK
"sable" OK
"blah" FAIL
このページ以外に GUnit に関するドキュメントはほとんどありませんが、これについては触れていません。