正しいオートマトンができたと思ったら, オートマトンの動作を検証するための自動テストを実行します.
検証用ファイルの読み込み
「Test」メニューの「Test...」を選びます. すると下のようなウインドウが表示されます.
「テストファイルのURL:」と題された欄に, 以下のURLを書き込み Enter を押します. コピーして貼り付けると間違いなくできるでしょう.コピーしたURLを貼り付けるには「コマンドキー(四つ葉のクローバーが描かれたキー)」を押しながら「V」を押します。
自動テストの内容が読み込まれると,「テスト」と書かれたボタンと左側に, オートマトンの一覧が表示されます.
検証用自動テストの実行
オートマトンの一覧の中から「My first automaton」をクリックして選択し, 「テスト」を押しましょう. 用意された入力についてオートマトンが自動的にテストされ, その結果が次のように表示されます.
- 「成功 <文字列:'aabac', 期待:非終了状態, 結果:非終了状態>」とあるのは, 初期状態から「aabac」と入力した時点では,非終了状態になっているはずで, 実際その通りなので「成功」であるという意味です.
- 「●失敗● <文字列:'abaca', 期待:非終了状態, 結果:遷移がありません>」 とあるのは, 初期状態から「abaca」を入力したときのことを考えなければいけないのに, 「abac」を入力した後の状態には「a」に対応する遷移がなかったので, そこで止まってしまったという意味です.
- また仮に 「●失敗● <文字列:'aba', 期待:非終了状態, 結果:終了状態>」 とあるとすれば, 初期状態から「aba」を入力したときには非終了状態になっているはずなのに, 実際には終了状態になっていたので「失敗」したという意味になります.
このように,上で定義したオートマトンは一度解錠した後に, さらに入力されたときのことを考えていなかったことが分かりました. この点を修正するには, 最後の状態から何を入力しても「失敗」を意味する状態への遷移を加えるだけです.
もう一度テストしてみましょう. すべてのテストに成功すると「テスト」ボタンの左の表示が 「My first automaton: 成功」に変わります.