def get_witness_ages(self):
     officer_allegations = self.get_officer_allegations(['complainant_age'])
     return self.annotate_count_for(
         self.get_witness(officer_allegations).filter(
             age__isnull=False, age__gt=0).annotate(
                 age_range=get_num_range_case('age', WITNESS_AGE_RANGES)),
         'age_range')
Пример #2
0
    def test_get_num_range_case_empty_array(self):
        num_range = []
        expect_result = Case(
            default=Value('Unknown'),
            output_field=CharField()
            )
        actual_result = get_num_range_case('a', num_range)

        repr(expect_result).should.equal(repr(actual_result))
Пример #3
0
    def test_get_num_range_case_single_value(self):
        num_range = [1]
        expect_result = Case(
            When(a__gte=1, then=Value('1+')),
            default=Value('Unknown'),
            output_field=CharField()
            )
        actual_result = get_num_range_case('a', num_range)

        repr(expect_result).should.equal(repr(actual_result))
Пример #4
0
    def test_get_num_range_case(self):
        result = get_num_range_case('a', [1, 5])

        repr_equal_either(
            result,
            (
                "<Case: CASE WHEN <Q: (AND: ('a__gte', 1), ('a__lte', 5))> THEN Value(1-5), "
                "WHEN <Q: (AND: ('a__gte', 6))> THEN Value(6+), ELSE Value(Unknown)>"),
            (
                "<Case: CASE WHEN <Q: (AND: ('a__lte', 5), ('a__gte', 1))> THEN Value(1-5), "
                "WHEN <Q: (AND: ('a__gte', 6))> THEN Value(6+), ELSE Value(Unknown)>")
        )
Пример #5
0
    def test_get_num_range_case_begin_with_zero(self):
        result = get_num_range_case('a', [0, 3, 5])

        repr_equal_either(
            result,
            (
                "<Case: CASE WHEN <Q: (AND: ('a__lte', 3))> THEN Value(<3), "
                "WHEN <Q: (AND: ('a__gte', 4), ('a__lte', 5))> "
                "THEN Value(4-5), WHEN <Q: (AND: ('a__gte', 6))> THEN Value(6+), ELSE Value(Unknown)>"),
            (
                "<Case: CASE WHEN <Q: (AND: ('a__lte', 3))> THEN Value(<3), "
                "WHEN <Q: (AND: ('a__lte', 5), ('a__gte', 4))> "
                "THEN Value(4-5), WHEN <Q: (AND: ('a__gte', 6))> THEN Value(6+), ELSE Value(Unknown)>")
        )
 def get_witness_ages(self):
     officer_allegations = self.get_officer_allegations(['complainant_age'])
     return self.annotate_count_for(
         self.get_witness(officer_allegations).filter(age__isnull=False, age__gt=0)
         .annotate(age_range=get_num_range_case('age', WITNESS_AGE_RANGES)), 'age_range')
 def get_officer_ages(self):
     officer_allegations = self.get_officer_allegations(['officer_age'])
     officer_allegations = officer_allegations.filter(officer_age__isnull=False)\
         .annotate(age_range=get_num_range_case('officer_age', OFFICER_AGE_RANGES))
     return self.annotate_count_for(officer_allegations, 'age_range')
 def get_officer_ages(self):
     officer_allegations = self.get_officer_allegations(['officer_age'])
     officer_allegations = officer_allegations.filter(officer_age__isnull=False)\
         .annotate(age_range=get_num_range_case('officer_age', OFFICER_AGE_RANGES))
     return self.annotate_count_for(officer_allegations, 'age_range')