update tesecase
refactor SourceGenerator