def testParseStateIncarcerationPeriod_temporaryCustody_overwriteAdmission( self): # Arrange ingest_incarceration = ingest_info_pb2.StateIncarcerationPeriod( status='NOT_IN_CUSTODY', incarceration_type='STATE_PRISON', admission_reason='PAROLE_REVOCATION', release_reason='RELEASED_FROM_TEMPORARY_CUSTODY', admission_date='1/2/2111', release_date='2/2/2112', state_code='us_nd') # Act incarceration_builder = entities.StateIncarcerationPeriod.builder() state_incarceration_period.copy_fields_to_builder( incarceration_builder, ingest_incarceration, _EMPTY_METADATA) result = incarceration_builder.build() # Assert expected_result = entities.StateIncarcerationPeriod.new_with_defaults( status=StateIncarcerationPeriodStatus.NOT_IN_CUSTODY, status_raw_text='NOT_IN_CUSTODY', incarceration_type=StateIncarcerationType.STATE_PRISON, incarceration_type_raw_text='STATE_PRISON', admission_reason=StateIncarcerationPeriodAdmissionReason. TEMPORARY_CUSTODY, admission_reason_raw_text='PAROLE_REVOCATION', release_reason=StateIncarcerationPeriodReleaseReason. RELEASED_FROM_TEMPORARY_CUSTODY, release_reason_raw_text='RELEASED_FROM_TEMPORARY_CUSTODY', admission_date=date(year=2111, month=1, day=2), release_date=date(year=2112, month=2, day=2), state_code='US_ND') self.assertEqual(result, expected_result)
def testParseStateIncarcerationPeriod(self): # Arrange ingest_incarceration = ingest_info_pb2.StateIncarcerationPeriod( status="NOT_IN_CUSTODY", incarceration_type="STATE_PRISON", facility_security_level="MEDIUM", admission_reason="PAROLE_REVOCATION", projected_release_reason="CONDITIONAL_RELEASE", release_reason="SERVED", state_incarceration_period_id="INCARCERATION_ID", specialized_purpose_for_incarceration="SHOCK INCARCERATION", admission_date="1/2/2111", release_date="2/2/2112", state_code="us_nd", county_code="bis", facility="The Prison", housing_unit="CB4", custodial_authority="STATE_PRISON", ) # Act incarceration_builder = entities.StateIncarcerationPeriod.builder() state_incarceration_period.copy_fields_to_builder( incarceration_builder, ingest_incarceration, _EMPTY_METADATA) result = incarceration_builder.build() # Assert expected_result = entities.StateIncarcerationPeriod( status=StateIncarcerationPeriodStatus.NOT_IN_CUSTODY, status_raw_text="NOT_IN_CUSTODY", incarceration_type=StateIncarcerationType.STATE_PRISON, incarceration_type_raw_text="STATE_PRISON", facility_security_level=StateIncarcerationFacilitySecurityLevel. MEDIUM, facility_security_level_raw_text="MEDIUM", admission_reason=StateIncarcerationPeriodAdmissionReason. PAROLE_REVOCATION, admission_reason_raw_text="PAROLE_REVOCATION", projected_release_reason=StateIncarcerationPeriodReleaseReason. CONDITIONAL_RELEASE, projected_release_reason_raw_text="CONDITIONAL_RELEASE", release_reason=StateIncarcerationPeriodReleaseReason. SENTENCE_SERVED, release_reason_raw_text="SERVED", specialized_purpose_for_incarceration= StateSpecializedPurposeForIncarceration.SHOCK_INCARCERATION, specialized_purpose_for_incarceration_raw_text= "SHOCK INCARCERATION", external_id="INCARCERATION_ID", admission_date=date(year=2111, month=1, day=2), release_date=date(year=2112, month=2, day=2), state_code="US_ND", county_code="BIS", facility="THE PRISON", housing_unit="CB4", custodial_authority=StateCustodialAuthority.STATE_PRISON, custodial_authority_raw_text="STATE_PRISON", ) self.assertEqual(result, expected_result)
def testParseStateIncarcerationPeriod_inferStatus_releaseDate(self): # Arrange ingest_incarceration = ingest_info_pb2.StateIncarcerationPeriod( incarceration_type="STATE_PRISON", admission_date="1/2/2111", release_date="1/2/2112", state_code="us_nd", ) # Act incarceration_builder = entities.StateIncarcerationPeriod.builder() state_incarceration_period.copy_fields_to_builder( incarceration_builder, ingest_incarceration, _EMPTY_METADATA) result = incarceration_builder.build() # Assert expected_result = entities.StateIncarcerationPeriod.new_with_defaults( status=StateIncarcerationPeriodStatus.NOT_IN_CUSTODY, incarceration_type=StateIncarcerationType.STATE_PRISON, incarceration_type_raw_text="STATE_PRISON", admission_date=date(year=2111, month=1, day=2), release_date=date(year=2112, month=1, day=2), state_code="US_ND", ) self.assertEqual(result, expected_result)
def testParseStateIncarcerationPeriod(self): # Arrange ingest_incarceration = ingest_info_pb2.StateIncarcerationPeriod( status='NOT_IN_CUSTODY', incarceration_type='STATE_PRISON', facility_security_level='MEDIUM', admission_reason='PAROLE_REVOCATION', projected_release_reason='CONDITIONAL_RELEASE', release_reason='SERVED', state_incarceration_period_id='INCARCERATION_ID', specialized_purpose_for_incarceration='SHOCK INCARCERATION', admission_date='1/2/2111', release_date='2/2/2112', state_code='us_nd', county_code='bis', facility='The Prison', housing_unit='CB4') # Act incarceration_builder = entities.StateIncarcerationPeriod.builder() state_incarceration_period.copy_fields_to_builder( incarceration_builder, ingest_incarceration, _EMPTY_METADATA) result = incarceration_builder.build() # Assert expected_result = entities.StateIncarcerationPeriod( status=StateIncarcerationPeriodStatus.NOT_IN_CUSTODY, status_raw_text='NOT_IN_CUSTODY', incarceration_type=StateIncarcerationType.STATE_PRISON, incarceration_type_raw_text='STATE_PRISON', facility_security_level=StateIncarcerationFacilitySecurityLevel. MEDIUM, facility_security_level_raw_text='MEDIUM', admission_reason=StateIncarcerationPeriodAdmissionReason. PAROLE_REVOCATION, admission_reason_raw_text='PAROLE_REVOCATION', projected_release_reason=StateIncarcerationPeriodReleaseReason. CONDITIONAL_RELEASE, projected_release_reason_raw_text='CONDITIONAL_RELEASE', release_reason=StateIncarcerationPeriodReleaseReason. SENTENCE_SERVED, release_reason_raw_text='SERVED', specialized_purpose_for_incarceration= StateSpecializedPurposeForIncarceration.SHOCK_INCARCERATION, specialized_purpose_for_incarceration_raw_text= 'SHOCK INCARCERATION', external_id='INCARCERATION_ID', admission_date=date(year=2111, month=1, day=2), release_date=date(year=2112, month=2, day=2), state_code='US_ND', county_code='BIS', facility='THE PRISON', housing_unit='CB4', ) self.assertEqual(result, expected_result)
def testParseStateIncarcerationPeriod_inferStatus_noDates(self): # Arrange ingest_incarceration = ingest_info_pb2.StateIncarcerationPeriod( incarceration_type='STATE_PRISON', state_code='us_nd') # Act incarceration_builder = entities.StateIncarcerationPeriod.builder() state_incarceration_period.copy_fields_to_builder( incarceration_builder, ingest_incarceration, _EMPTY_METADATA) result = incarceration_builder.build() # Assert expected_result = entities.StateIncarcerationPeriod.new_with_defaults( status=StateIncarcerationPeriodStatus.PRESENT_WITHOUT_INFO, incarceration_type=StateIncarcerationType.STATE_PRISON, incarceration_type_raw_text='STATE_PRISON', state_code='US_ND') self.assertEqual(result, expected_result)