View Javadoc
1   /**
2    * Copyright 2004-2014 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
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  }