|
|
@@ -1,44 +1,146 @@
|
|
|
package com.seecoder.dataanalysis.eval.impl;
|
|
|
|
|
|
+import com.seecoder.dataanalysis.analysis.EvalDataAnalysisService;
|
|
|
import com.seecoder.dataanalysis.data.dao.competency.CompetencyTreeDao;
|
|
|
+import com.seecoder.dataanalysis.data.dao.eval.EvalExamInfoDao;
|
|
|
import com.seecoder.dataanalysis.data.dao.eval.EvalExamRecordDao;
|
|
|
-import com.seecoder.dataanalysis.data.entity.competency.CompetencyTree;
|
|
|
-import com.seecoder.dataanalysis.data.entity.competency.Competencies;
|
|
|
+import com.seecoder.dataanalysis.data.dao.eval.QuestionDao;
|
|
|
+import com.seecoder.dataanalysis.data.entity.competency.*;
|
|
|
+import com.seecoder.dataanalysis.data.entity.eval.EvalExamInfo;
|
|
|
import com.seecoder.dataanalysis.data.entity.eval.EvalExamRecord;
|
|
|
+import com.seecoder.dataanalysis.data.entity.eval.Question;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@SpringBootTest
|
|
|
public class EvalDataAnalysisServiceImplTest {
|
|
|
|
|
|
@Autowired
|
|
|
CompetencyTreeDao competencyTreeDao;
|
|
|
-
|
|
|
@Autowired
|
|
|
EvalExamRecordDao evalExamRecordDao;
|
|
|
+ @Autowired
|
|
|
+ EvalExamInfoDao evalExamInfoDao;
|
|
|
+ @Autowired
|
|
|
+ QuestionDao questionDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ EvalDataAnalysisService evalDataAnalysisService;
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void addQuestion(){
|
|
|
+ Question question1 = new Question().setQuestionId("abc123").setQuestionScore(50.0);
|
|
|
+ List<String> com1 = new ArrayList<>();
|
|
|
+ List<KSScore> ksScoreList1 = new ArrayList<>();
|
|
|
+ Double[] skills1 = new Double[]{0.0,1.0,0.0,1.0,0.0,1.0};
|
|
|
+ Double[] skills2 = new Double[]{1.0, 0.0, 0.0, 0.0, 0.0, 0.0};
|
|
|
+ com1.add("软件设计");
|
|
|
+ com1.add("软件构造");
|
|
|
+ com1.add("软件设计");
|
|
|
+ KSScore ksScore1 = new KSScore().setKnowledge("软件体系结构").setSkillsAndScore(Arrays.asList(skills1));
|
|
|
+ KSScore ksScore2 = new KSScore().setKnowledge("管理软件构造").setSkillsAndScore(Arrays.asList(skills1));
|
|
|
+ KSScore ksScore4 = new KSScore().setKnowledge("软件设计基础").setSkillsAndScore(Arrays.asList(skills2));
|
|
|
+ ksScoreList1.add(ksScore1);
|
|
|
+ ksScoreList1.add(ksScore2);
|
|
|
+ ksScoreList1.add(ksScore4);
|
|
|
+ question1.setCompetencies(com1).setKsScores(ksScoreList1);
|
|
|
+
|
|
|
+ Question question2 = new Question().setQuestionId("zxc111").setQuestionScore(30.0);
|
|
|
+ List<String> com2 = new ArrayList<>();
|
|
|
+ List<KSScore> ksScoreList2 = new ArrayList<>();
|
|
|
+ com2.add("软件维护");
|
|
|
+ KSScore ksScore3 = new KSScore().setKnowledge("软件维护基础").setSkillsAndScore(Arrays.asList(skills2));
|
|
|
+ ksScoreList2.add(ksScore3);
|
|
|
+ question2.setCompetencies(com2).setKsScores(ksScoreList2);
|
|
|
+
|
|
|
+ questionDao.save(question1);
|
|
|
+ questionDao.save(question2);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void addExamInfo(){
|
|
|
+ Question question1 = questionDao.findById("abc123").get();
|
|
|
+ Question question2 = questionDao.findById("zxc111").get();
|
|
|
+ Map<String,Double> questionAndScore = new HashMap<>();
|
|
|
+ questionAndScore.put(question1.getQuestionId(),question1.getQuestionScore());
|
|
|
+ questionAndScore.put(question2.getQuestionId(),question2.getQuestionScore());
|
|
|
+
|
|
|
+ EvalExamInfo evalExamInfo = new EvalExamInfo()
|
|
|
+ .setExamId(1)
|
|
|
+ .setExamScore(question1.getQuestionScore()+question2.getQuestionScore())
|
|
|
+ .setUpdateTime(new Date())
|
|
|
+ .setStartTime(new Date())
|
|
|
+ .setEndTime(new Date())
|
|
|
+ .setDifficulty(1)
|
|
|
+ .setDisposition("热情")
|
|
|
+ .setQuestionAndScore(questionAndScore);
|
|
|
+
|
|
|
+ evalExamInfoDao.save(evalExamInfo);
|
|
|
+ }
|
|
|
|
|
|
@Test
|
|
|
void addExamRecord(){
|
|
|
+ Question question1 = questionDao.findById("abc123").get();
|
|
|
+ Question question2 = questionDao.findById("zxc111").get();
|
|
|
Map<String, Double> quesScore = new HashMap<>();
|
|
|
- quesScore.put("1", 50.0);
|
|
|
- quesScore.put("2", 50.0);
|
|
|
+ quesScore.put(question1.getQuestionId(),question1.getQuestionScore()-10.0);
|
|
|
+ quesScore.put(question2.getQuestionId(),question2.getQuestionScore()-10.0);
|
|
|
|
|
|
EvalExamRecord evalExamRecord = new EvalExamRecord()
|
|
|
- .setRecordId(2)
|
|
|
- .setExamId(2)
|
|
|
- .setScore(100.0)
|
|
|
+ .setRecordId(1)
|
|
|
+ .setExamId(1)
|
|
|
+ .setScore(quesScore.get(question1.getQuestionId())+quesScore.get(question2.getQuestionId()))
|
|
|
.setErrorQuestions(quesScore)
|
|
|
.setSubmitTime(new Date())
|
|
|
- .setUserId(1);
|
|
|
+ .setUserId(2);
|
|
|
+
|
|
|
evalExamRecordDao.save(evalExamRecord);
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ void testGetTreeAfterExam(){
|
|
|
+ evalDataAnalysisService.getTreeAfterExam(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void addTree(){
|
|
|
+ List<KSScore> L1 = new ArrayList<>();
|
|
|
+ List<DScore> L2 = new ArrayList<>();
|
|
|
+ List<Double> L4 = new ArrayList<>();
|
|
|
+ for(int i=0;i<6;i++){
|
|
|
+ if(i%2==0){
|
|
|
+ L4.add(0.0);
|
|
|
+ }else {
|
|
|
+ L4.add(10.0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ KSScore ksScore = new KSScore()
|
|
|
+ .setKnowledge("软件体系结构")
|
|
|
+ .setSkillsAndScore(L4);
|
|
|
+ DScore dScore = new DScore()
|
|
|
+ .setName("细心")
|
|
|
+ .setScore(10.0);
|
|
|
+ L1.add(ksScore);
|
|
|
+ L2.add(dScore);
|
|
|
+ KSDScore ksdScore = new KSDScore()
|
|
|
+ .setCompetency("软件设计")
|
|
|
+ .setTotalScore(10.0)
|
|
|
+ .setDScore(L2)
|
|
|
+ .setKSScore(L1);
|
|
|
+ List<KSDScore> L3 = new ArrayList<>();
|
|
|
+ L3.add(ksdScore);
|
|
|
+
|
|
|
+ CompetencyTree competencyTree = new CompetencyTree()
|
|
|
+ .setUserId(2)
|
|
|
+ .setTreeScore(10.0)
|
|
|
+ .setSubCompetencyTree(L3);
|
|
|
+
|
|
|
+ competencyTreeDao.save(competencyTree);
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
void testModelTree(){
|
|
|
Competencies competencies = new Competencies();
|
|
|
@@ -47,6 +149,13 @@ public class EvalDataAnalysisServiceImplTest {
|
|
|
competencyTreeDao.save(model);
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ void testGetTreeById(){
|
|
|
+ CompetencyTree model = evalDataAnalysisService.getTreeById(2);
|
|
|
+ model.setUserId(3);
|
|
|
+ competencyTreeDao.save(model);
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
void testFindByUserId(){
|
|
|
List<EvalExamRecord> evalExamRecordList = evalExamRecordDao.findByUserId(1);
|