package gov.va.med.esr.common.rule.parameter;

import gov.va.med.esr.common.model.ee.CatastrophicDisability;
import gov.va.med.esr.common.model.person.Person;
import gov.va.med.esr.service.PersonHelperService;
import junit.framework.TestCase;

//import org.easymock.MockControl;

/**
 * 
 * @see gov.va.med.esr.common.rule.parameter.ClinicalFactorInputParameter
 */
public class ClinicalFactorInputParameterTest extends TestCase {

    /**
     * 
     * @see gov.va.med.esr.common.rule.parameter.ClinicalFactorInputParameter#getCatastrophicDisabilityIndicator(gov.va.med.esr.common.model.person.Person)
     */
    public void testGetCatastrophicDisabilityIndicatorPerson() {
//        MockControl personHelperServiceMockControl = MockControl
//                .createStrictControl(PersonHelperService.class);
//        PersonHelperService personHelperService = (PersonHelperService) personHelperServiceMockControl
//                .getMock();
//        ClinicalFactorInputParameter clinicalFactorInputParameter = new ClinicalFactorInputParameter();
//        clinicalFactorInputParameter.setHelperService(personHelperService);
//        Person person = new Person();
//
//        // verify NO_INDICATOR if catastrophicDisability == null
//        personHelperService.getClinicalDetermination(
//                CatastrophicDisability.class, person);
//        personHelperServiceMockControl.setReturnValue(null);
//        personHelperServiceMockControl.replay();
//        assertEquals(BaseParameter.NO_INDICATOR, clinicalFactorInputParameter
//                .getCatastrophicDisabilityIndicator(person));
//        personHelperServiceMockControl.verify();
//        personHelperServiceMockControl.reset();
//
//        // verify NO_INDICATOR if isCatastrophicallyDisabled == null
//        CatastrophicDisability catastrophicDisability = new CatastrophicDisability();
//        personHelperService.getClinicalDetermination(
//                CatastrophicDisability.class, person);
//        personHelperServiceMockControl.setReturnValue(catastrophicDisability);
//        personHelperServiceMockControl.replay();
//        assertEquals(BaseParameter.NO_INDICATOR, clinicalFactorInputParameter
//                .getCatastrophicDisabilityIndicator(person));
//        personHelperServiceMockControl.verify();
//        personHelperServiceMockControl.reset();
//
//        // verify NO_INDICATOR if isCatastrophicallyDisabled == false
//        catastrophicDisability = new CatastrophicDisability();
//        catastrophicDisability.setCatastrophicallyDisabled(new Boolean(false));
//        personHelperService.getClinicalDetermination(
//                CatastrophicDisability.class, person);
//        personHelperServiceMockControl.setReturnValue(catastrophicDisability);
//        personHelperServiceMockControl.replay();
//        assertEquals(BaseParameter.NO_INDICATOR, clinicalFactorInputParameter
//                .getCatastrophicDisabilityIndicator(person));
//        personHelperServiceMockControl.verify();
//        personHelperServiceMockControl.reset();
//
//        // verify YES_INDICATOR if isCatastrophicallyDisabled == true
//        catastrophicDisability = new CatastrophicDisability();
//        catastrophicDisability.setCatastrophicallyDisabled(new Boolean(true));
//        personHelperService.getClinicalDetermination(
//                CatastrophicDisability.class, person);
//        personHelperServiceMockControl.setReturnValue(catastrophicDisability);
//        personHelperServiceMockControl.replay();
//        assertEquals(BaseParameter.YES_INDICATOR, clinicalFactorInputParameter
//                .getCatastrophicDisabilityIndicator(person));
//        personHelperServiceMockControl.verify();
    }
}
