test をする時に、expected と文字列化してから比較するのではなく、直接値を比較して確認するように

してみたけどどうですか。
こっちのほうが正しいと思うけれど、テストの失敗ログが見にくいという話も
test_lexer.cpp -> test_lexer.hpp になってるけど意図したものですか?