001    package org.kuali.student.lum.statement.config.context;
002    
003    import java.util.ArrayList;
004    import java.util.List;
005    import java.util.Map;
006    
007    import org.junit.Assert;
008    import org.junit.Before;
009    import org.junit.Test;
010    import org.kuali.student.common.exceptions.OperationFailedException;
011    import org.kuali.student.core.statement.dto.ReqCompFieldInfo;
012    import org.kuali.student.core.statement.dto.ReqComponentInfo;
013    import org.kuali.student.lum.statement.typekey.ReqComponentFieldTypes;
014    
015    public class GpaContextImplTest {
016            private GpaContextImpl gpaContext = new GpaContextImpl();
017            private ReqComponentInfo reqComponent1;
018            private ReqComponentInfo reqComponent2;
019    
020            private void setupReqComponent1() {
021                    reqComponent1 = new ReqComponentInfo();
022            List<ReqCompFieldInfo> reqCompFieldList = new ArrayList<ReqCompFieldInfo>();
023            ReqCompFieldInfo reqCompField1 = new ReqCompFieldInfo();
024            reqCompField1.setType(ReqComponentFieldTypes.GPA_KEY.getId());
025            reqCompField1.setValue("2.75");
026            reqCompFieldList.add(reqCompField1);
027                    reqComponent1.setReqCompFields(reqCompFieldList);
028            }
029    
030            private void setupReqComponent2() {
031                    reqComponent2 = new ReqComponentInfo();
032            List<ReqCompFieldInfo> reqCompFieldList = new ArrayList<ReqCompFieldInfo>();
033            ReqCompFieldInfo reqCompField1 = new ReqCompFieldInfo();
034            reqCompField1.setType(ReqComponentFieldTypes.GPA_KEY.getId());
035            reqCompField1.setValue(null);
036            reqCompFieldList.add(reqCompField1);
037            reqComponent2.setReqCompFields(reqCompFieldList);
038            }
039    
040            @Before
041            public void beforeMethod() {
042                    setupReqComponent1();
043                    setupReqComponent2();
044            }
045    
046            @Test
047        public void testCreateContextMap() throws OperationFailedException {
048                    Map<String, Object> contextMap = gpaContext.createContextMap(reqComponent1);
049                    Double gpa = (Double) contextMap.get(GpaContextImpl.GPA_TOKEN);
050                    Assert.assertEquals(2.75d, gpa.doubleValue(), 0d);
051        }
052    
053            @Test
054        public void testCreateContextMap_NullGpa() throws OperationFailedException {
055                    Map<String, Object> contextMap = gpaContext.createContextMap(reqComponent2);
056                    Double gpa = (Double) contextMap.get(GpaContextImpl.GPA_TOKEN);
057                    Assert.assertEquals(null, gpa);
058        }
059    }