package com.estate.expert.admin.service; import com.estate.expert.admin.service.eval.EvalFuzzyService; import com.estate.expert.admin.service.eval.EvalScoreService; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Transactional @Rollback(value = false) class EvalServiceTest { @Resource private EvalScoreService evalScoreService; @Resource private EvalFuzzyService evalFuzzyService; @Resource private CheckTaskService checkTaskService; @Resource private ObjectMapper objectMapper; @Test void scoreEval() throws IOException { var checkTask = checkTaskService.get(1269); // var checkTask = checkTaskService.get(241, true); var res = evalScoreService.eval(checkTask); log.info("Check Task {} {}", checkTask.getPlan().getName(), checkTask.getProject().getName()); // save to tmp var str = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(res.getSystemRes()); Files.write(Path.of("/Volumes/Works/tmp/eval_score.json"), str.getBytes()); var resMap = res.getDeviceResMap(); for (var entry : resMap.entrySet()) { var device = entry.getKey(); var deviceRes = entry.getValue(); var deviceStr = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(deviceRes); Files.write(Path.of("/Volumes/Works/tmp/eval_score_" + device + ".json"), deviceStr.getBytes()); } } @Test void fuzzyEval() throws IOException { var checkTask = checkTaskService.get(1347, true); // var checkTask = checkTaskService.get(527, true); var res = evalFuzzyService.eval(checkTask); // save to tmp var str = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(res.getSystemRes()); Files.write(Path.of("/Volumes/Works/tmp/eval_fuzzy.json"), str.getBytes()); var resMap = res.getDeviceResMap(); for (var entry : resMap.entrySet()) { var device = entry.getKey(); var deviceRes = entry.getValue(); var deviceStr = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(deviceRes); Files.write(Path.of("/Volumes/Works/tmp/eval_fuzzy_" + device + ".json"), deviceStr.getBytes()); } } }