囲碁の棋譜を読み書きできるようにするために、棋譜の構文解析プログラムを作っていこうと思います。構文解析の前段に字句解析が必要になります。字句解析プログラムは元の構文からトークンと呼ばれる単語を切り出すものですが、今回は簡単に英大文字、英小文字、数字、その他を切り出すものにしました。
字句解析プログラムのみをテストしたかったので、テストのためのフレームワークである、Jasmine を使ってみました。以前は JsUnit というフレームワークがあったのですが、もうメンテナンスされていないようです。
作ったプログラムは lextest01 として公開しました。

【図25 テスト結果】
緑の○が並んでいるのはテスト結果が期待通りだったことを示します。期待と違う場合は赤い×が表示されます。
今回はメソッドを呼び出した結果が期待する値かどうかをいくつかテストしました。簡単なテストですがバグを発見できました。このようなテスト仕様を一度作っておくと、今後開発を進めていくときにリグレッションテスト(レベルダウンを発見するためのテスト)としても有用です。
