from pathlib import Path from src.analysis_reporter import AnalysisReporter from src.config_loader import AnalysisSettings from src.models import AnalysisResult,AnalysisRunSummary,ResponseRateTestResult def cfg(path:Path,overwrite:bool=True)->AnalysisSettings:return AnalysisSettings(True,"in",str(path),True,True,True,True,"weak","auto","mannwhitney","valid_turn_analysis",False,overwrite,.05) def empty(path:Path)->AnalysisResult:return AnalysisResult([],ResponseRateTestResult("none",0,0,0,0,None,None,None,None,None,"none",None,None,"empty"),[],[],[],AnalysisRunSummary("a",0,0,0,0,0,0,"t",str(path),"日本語")) def test_six_bom_csvs_and_overwrite(tmp_path:Path)->None: paths=AnalysisReporter(cfg(tmp_path)).write(empty(tmp_path));assert len(paths)==6 and all(p.read_bytes().startswith(b"\xef\xbb\xbf") for p in paths) try:AnalysisReporter(cfg(tmp_path,False)).write(empty(tmp_path));assert False except FileExistsError:pass