import os
import sys

# プロジェクトのルートディレクトリ（現在のディレクトリ）をシスパスに追加
current_dir = os.path.dirname(os.path.abspath(__file__))
if current_dir not in sys.path:
    sys.path.insert(0, current_dir)

from pilot.create.pilot_generator import PilotGenerator

# テスト用の共通設定値
BASE_WORK_SPACE = 'D:/workspace/'
SUB_PROJECT_NO = '010'
SUB_PROJECT_NAME = 'customer'
SUB_SOURCE_FOLDER = 'system'
SUB_SUB_SOURCE_FOLDER_1 = 'subsystem'

def test_generate_code() -> PilotGenerator:
    """初期生成の基盤コードを作成するテスト"""
    print("========================================")
    print("      test_generate_code テスト実行      ")
    print("========================================")

    generator = PilotGenerator()
    
    try:
        # generate_code に関連引数を指定して呼び出す
        generator.generate_code(
            base_work_space=BASE_WORK_SPACE,
            sub_project_no=SUB_PROJECT_NO,
            sub_project_name=SUB_PROJECT_NAME,
            sub_source_folder=SUB_SOURCE_FOLDER,
            sub_sub_source_folder_1=SUB_SUB_SOURCE_FOLDER_1
        )

        print(f"[設定確認] 出力先のワークスペース: {generator.work_space}")
        print(f"[設定確認] プロジェクト名: {generator.sub_project_name}")
        print(f"[設定確認] ソースフォルダ: {generator.sub_source_folder}")
        print(f"[設定確認] サブソースフォルダ: {generator.sub_sub_source_folder_1}")
        print("-" * 40)
        print("初期生成処理が正常に完了しました！\n")
        
        return generator

    except Exception as e:
        print("-" * 40)
        print(f"generate_code エラーが発生しました: {e}")
        return None



if __name__ == "__main__":
    generator_instance = test_generate_code()
