import cn.jojo.cc.worker.task.*;import cn.jojo.cc.biz.common.config.*;import cn.jojo.cc.biz.service.english.segment.*;import org.redisson.api.*;
public class JobPauseProbe{static void set(Object o,String n,Object v)throws Exception{var f=o.getClass().getDeclaredField(n);f.setAccessible(true);f.set(o,v);}public static void main(String[]args)throws Exception{for(int mode=0;mode<3;mode++){var j=new EnglishSegmentOutputIdentityRecoveryJobHandler();var c=new EnglishDictConfig();c.total=mode!=0;c.execution=mode!=1;var r=new RedissonClient();var s=new EnglishSegmentOutputIdentityRecoveryBizService();set(j,"englishDictConfig",c);set(j,"redissonClient",r);set(j,"service",s);j.recover(null);boolean expected=mode==2;boolean ok=(r.calls==(expected?1:0)&&s.calls==(expected?1:0));System.out.println((ok?"PASS ":"FAIL ")+"mode="+mode+" locks="+r.calls+" regeneration-service="+s.calls);if(!ok)System.exit(1);}}}