1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.pm.classification;
17
18 import java.util.*;
19
20 import org.junit.Assert;
21 import org.junit.Test;
22 import org.kuali.kpme.core.api.groupkey.HrGroupKey;
23 import org.kuali.kpme.core.api.mo.EffectiveKey;
24 import org.kuali.kpme.core.groupkey.HrGroupKeyBoTest;
25 import org.kuali.kpme.pm.api.classification.Classification;
26 import org.kuali.kpme.pm.api.classification.duty.ClassificationDuty;
27 import org.kuali.kpme.pm.api.classification.flag.ClassificationFlag;
28 import org.kuali.kpme.pm.api.classification.qual.ClassificationQualification;
29 import org.kuali.kpme.pm.classification.flag.ClassificationFlagBoTest;
30
31 public class ClassificationBoTest {
32
33
34 private static Map<String, Classification> testClassificationTestBos;
35 public static Classification.Builder classificationBuilder = Classification.Builder.create();
36 public static EffectiveKey.Builder classificationGroupKeyBuilder = EffectiveKey.Builder.create();
37
38 static{
39 testClassificationTestBos = new HashMap<String, Classification>();
40
41 classificationBuilder = Classification.Builder.create(ClassificationDataBoTest.getClassification("TST-PMCLASSID"));
42
43 List<ClassificationQualification.Builder> classificationQualificationList = new ArrayList<ClassificationQualification.Builder>();
44 classificationQualificationList.add(ClassificationQualification.Builder.create(ClassificationDataBoTest.getClassificationQualificationBo("TST-CLASSFCTNQLFCTN")));
45
46 classificationBuilder.setQualificationList(classificationQualificationList);
47
48 List<ClassificationFlag.Builder> flagList = new ArrayList<ClassificationFlag.Builder>();
49 flagList.add(ClassificationFlag.Builder.create(ClassificationDataBoTest.getClassificationFlag("TST-CLSFCTNFLAG")));
50 classificationBuilder.setFlagList(flagList);
51
52 List<ClassificationDuty.Builder> dutyList = new ArrayList<ClassificationDuty.Builder>();
53 dutyList.add(ClassificationDuty.Builder.create(ClassificationDataBoTest.getClassificationDuty("TST-CLSFCTNDUTY")));
54 classificationBuilder.setDutyList(dutyList);
55
56 classificationGroupKeyBuilder.setGroupKeyCode("ISU-IA");
57 classificationGroupKeyBuilder.setGroupKey(HrGroupKey.Builder.create(HrGroupKeyBoTest.getTestHrGroupKey("ISU-IA")));
58 classificationGroupKeyBuilder.setOwnerId(classificationBuilder.getPmPositionClassId());
59 classificationGroupKeyBuilder.setId("derived key object 01");
60 classificationGroupKeyBuilder.setEffectiveLocalDateOfOwner(classificationBuilder.getEffectiveLocalDate());
61
62 Set<EffectiveKey.Builder> keyBuilders = new HashSet<EffectiveKey.Builder>();
63 keyBuilders.add(classificationGroupKeyBuilder);
64 classificationBuilder.setEffectiveKeySet(keyBuilders);
65
66 testClassificationTestBos.put(classificationBuilder.getPmPositionClassId(), classificationBuilder.build());
67 }
68
69 @Test
70 public void testNotEqualsWithGroup() {
71 Classification immutable = ClassificationBoTest.getClassification("TST-PMCLASSID");
72
73 ClassificationBo bo = ClassificationBo.from(immutable);
74
75 Assert.assertFalse(bo.equals(immutable));
76 Assert.assertFalse(immutable.equals(bo));
77
78 Classification im2 = ClassificationBo.to(bo);
79 ClassificationBo bo2 = ClassificationBo.from(im2);
80 Classification im3 = ClassificationBo.to(bo2);
81
82 Assert.assertEquals(im2, im3);
83 }
84
85 public static Classification getClassification(String classification) {
86 return testClassificationTestBos.get(classification);
87 }
88 }