Exemplo n.º 1
0
    def test_get_violation_type_frequency_counter_us_mo_technical_only(self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code="US_MO",
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.TECHNICAL,
                    )
                ],
                supervision_violated_conditions=[
                    StateSupervisionViolatedConditionEntry.new_with_defaults(
                        state_code="US_XX", condition="DRG"
                    )
                ],
            )
        ]

        violation_type_frequency_counter = (
            violation_utils.get_violation_type_frequency_counter(
                violations, UsMoViolationDelegate()
            )
        )

        self.assertEqual([["SUBSTANCE_ABUSE"]], violation_type_frequency_counter)
Exemplo n.º 2
0
    def test_get_violation_type_frequency_counter_us_mo(self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code="US_MO",
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.ABSCONDED,
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.FELONY,
                    ),
                ],
                supervision_violated_conditions=[
                    StateSupervisionViolatedConditionEntry.new_with_defaults(
                        state_code="US_XX", condition="DRG")
                ],
            )
        ]

        violation_type_frequency_counter = (
            violation_utils.get_violation_type_frequency_counter(violations))

        self.assertEqual(
            [["ABSCONDED", "FELONY", "SUBSTANCE_ABUSE"]],
            violation_type_frequency_counter,
        )
Exemplo n.º 3
0
    def test_get_violation_type_frequency_counter_us_mo_technical_only_no_conditions(
        self,
    ) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code="US_MO",
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.TECHNICAL,
                    )
                ],
            )
        ]

        violation_type_frequency_counter = (
            violation_utils.get_violation_type_frequency_counter(
                violations, UsMoViolationDelegate()
            )
        )

        self.assertEqual(
            [[StateSupervisionViolationType.TECHNICAL.value]],
            violation_type_frequency_counter,
        )
Exemplo n.º 4
0
    def test_get_violation_type_frequency_counter_us_pa(self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code='US_PA',
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.ABSCONDED
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.FELONY),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.TECHNICAL,
                        violation_type_raw_text='L05'),
                ]),
            StateSupervisionViolation.new_with_defaults(
                state_code='US_PA',
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.
                        MISDEMEANOR),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.TECHNICAL,
                        violation_type_raw_text='H12')
                ])
        ]

        violation_type_frequency_counter = violation_utils.get_violation_type_frequency_counter(
            violations)

        self.assertEqual([['ABSCONDED', 'FELONY', 'LOW_TECH'],
                          ['MISDEMEANOR', 'SUBSTANCE_ABUSE']],
                         violation_type_frequency_counter)
Exemplo n.º 5
0
    def test_get_violation_type_frequency_counter_no_types(self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(state_code="US_XX")
        ]

        violation_type_frequency_counter = (
            violation_utils.get_violation_type_frequency_counter(violations))

        self.assertIsNone(violation_type_frequency_counter)
Exemplo n.º 6
0
    def test_get_violation_type_frequency_counter_us_mo_multiple_violations(
        self,
    ) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code="US_MO",
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.ABSCONDED,
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.FELONY,
                    ),
                ],
                supervision_violated_conditions=[
                    StateSupervisionViolatedConditionEntry.new_with_defaults(
                        state_code="US_XX", condition="WEA"
                    )
                ],
            ),
            StateSupervisionViolation.new_with_defaults(
                state_code="US_MO",
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.MISDEMEANOR,
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.TECHNICAL,
                    ),
                ],
                supervision_violated_conditions=[
                    StateSupervisionViolatedConditionEntry.new_with_defaults(
                        state_code="US_XX", condition="DRG"
                    ),
                    StateSupervisionViolatedConditionEntry.new_with_defaults(
                        state_code="US_XX", condition="EMP"
                    ),
                ],
            ),
        ]

        violation_type_frequency_counter = (
            violation_utils.get_violation_type_frequency_counter(
                violations, UsMoViolationDelegate()
            )
        )

        self.assertEqual(
            [["ABSCONDED", "FELONY", "WEA"], ["MISDEMEANOR", "SUBSTANCE_ABUSE", "EMP"]],
            violation_type_frequency_counter,
        )
Exemplo n.º 7
0
    def test_get_violation_type_frequency_counter_us_mo_technical_only_no_conditions(
            self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code='US_MO',
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.TECHNICAL)
                ])
        ]

        violation_type_frequency_counter = violation_utils.get_violation_type_frequency_counter(
            violations)

        self.assertEqual([[StateSupervisionViolationType.TECHNICAL.value]],
                         violation_type_frequency_counter)
Exemplo n.º 8
0
    def test_get_violation_type_frequency_counter_us_pa(self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code="US_PA",
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.ABSCONDED,
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.FELONY,
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.TECHNICAL,
                        violation_type_raw_text="L05",
                    ),
                ],
            ),
            StateSupervisionViolation.new_with_defaults(
                state_code="US_PA",
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.MISDEMEANOR,
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.TECHNICAL,
                        violation_type_raw_text="H12",
                    ),
                ],
            ),
        ]

        violation_type_frequency_counter = (
            violation_utils.get_violation_type_frequency_counter(
                violations, UsPaViolationDelegate()
            )
        )

        self.assertEqual(
            [["ABSCONDED", "FELONY", "LOW_TECH"], ["MISDEMEANOR", "SUBSTANCE_ABUSE"]],
            violation_type_frequency_counter,
        )
Exemplo n.º 9
0
    def test_get_violation_type_frequency_counter(self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code='US_XX',
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.ABSCONDED
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.FELONY)
                ],
            )
        ]

        violation_type_frequency_counter = violation_utils.get_violation_type_frequency_counter(
            violations)

        self.assertEqual([['ABSCONDED', 'FELONY']],
                         violation_type_frequency_counter)
Exemplo n.º 10
0
    def test_get_violation_type_frequency_counter_us_mo_technical_only(
            self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code='US_MO',
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.TECHNICAL)
                ],
                supervision_violated_conditions=[
                    StateSupervisionViolatedConditionEntry.new_with_defaults(
                        condition='DRG')
                ])
        ]

        violation_type_frequency_counter = violation_utils.get_violation_type_frequency_counter(
            violations)

        self.assertEqual([['SUBSTANCE_ABUSE']],
                         violation_type_frequency_counter)
Exemplo n.º 11
0
    def test_get_violation_type_frequency_counter(self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code="US_XX",
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.ABSCONDED,
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        state_code="US_XX",
                        violation_type=StateSupervisionViolationType.FELONY,
                    ),
                ],
            )
        ]

        violation_type_frequency_counter = (
            violation_utils.get_violation_type_frequency_counter(violations))

        self.assertEqual([["ABSCONDED", "FELONY"]],
                         violation_type_frequency_counter)
Exemplo n.º 12
0
    def test_get_violation_type_frequency_counter_us_mo(self) -> None:
        violations = [
            StateSupervisionViolation.new_with_defaults(
                state_code='US_MO',
                supervision_violation_types=[
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.ABSCONDED
                    ),
                    StateSupervisionViolationTypeEntry.new_with_defaults(
                        violation_type=StateSupervisionViolationType.FELONY)
                ],
                supervision_violated_conditions=[
                    StateSupervisionViolatedConditionEntry.new_with_defaults(
                        condition='DRG')
                ])
        ]

        violation_type_frequency_counter = violation_utils.get_violation_type_frequency_counter(
            violations)

        self.assertEqual([['ABSCONDED', 'FELONY', 'SUBSTANCE_ABUSE']],
                         violation_type_frequency_counter)