コード例 #1
0
ファイル: test_query.py プロジェクト: gareth-lloyd/flexsurvey
    def test_sum_facts_where(self):
        self.desired_fact.data_type = 'I'
        self.desired_fact.save()

        self._save_fact('01', subject=self.subject)
        subjects_qs = Project.objects.filter(id=self.subject.id)
        total = sum_facts_where(self.survey, subjects_qs, match_df=self.desired_fact,
                match_value=None, sum_dfs=self.desired_fact)

        self.assertEquals(1, total)
コード例 #2
0
ファイル: test_query.py プロジェクト: gareth-lloyd/flexsurvey
    def test_sum_facts_where(self):
        self.desired_fact.data_type = 'I'
        self.desired_fact.save()

        self._save_fact('01', subject=self.subject)
        subjects_qs = Project.objects.filter(id=self.subject.id)
        total = sum_facts_where(self.survey,
                                subjects_qs,
                                match_df=self.desired_fact,
                                match_value=None,
                                sum_dfs=self.desired_fact)

        self.assertEquals(1, total)
コード例 #3
0
ファイル: test_query.py プロジェクト: gareth-lloyd/flexsurvey
    def test_facts_for_different_survey_not_summed(self):
        "must discriminate by survey"
        # associate self.subject with self.survey
        self._save_fact('01', subject=self.subject, survey=self.survey)

        # associate self.subject2 with a different survey
        survey2 = Survey.objects.create(name='other', project=self.project)
        self._save_fact('01', subject=self.subject2, survey=survey2)

        subjects_qs = Project.objects\
                .filter(id__in=(self.subject.id, self.subject2.id))
        total = sum_facts_where(self.survey, subjects_qs,
                match_df=self.desired_fact, match_value=None,
                sum_dfs=self.desired_fact)

        self.assertEquals(1, total)
コード例 #4
0
ファイル: test_query.py プロジェクト: gareth-lloyd/flexsurvey
    def test_facts_for_different_survey_not_summed(self):
        "must discriminate by survey"
        # associate self.subject with self.survey
        self._save_fact('01', subject=self.subject, survey=self.survey)

        # associate self.subject2 with a different survey
        survey2 = Survey.objects.create(name='other', project=self.project)
        self._save_fact('01', subject=self.subject2, survey=survey2)

        subjects_qs = Project.objects\
                .filter(id__in=(self.subject.id, self.subject2.id))
        total = sum_facts_where(self.survey,
                                subjects_qs,
                                match_df=self.desired_fact,
                                match_value=None,
                                sum_dfs=self.desired_fact)

        self.assertEquals(1, total)
コード例 #5
0
ファイル: test_query.py プロジェクト: gareth-lloyd/flexsurvey
    def test_sum_facts_where_multiple(self):
        match_df = self.desired_fact
        sum_df = DesiredFact.objects.create(code='code2',
                label='a', data_type='I', required=True,
                content_type=self.content_type)

        self._save_fact('01', subject=self.subject, desired_fact=match_df)
        self._save_fact('06', subject=self.subject, desired_fact=sum_df)

        self._save_fact('01', subject=self.subject2, desired_fact=match_df)
        self._save_fact('05', subject=self.subject2, desired_fact=sum_df)

        subjects_qs = Project.objects.filter(id__in=(self.subject.id, self.subject2.id))
        total = sum_facts_where(self.survey, subjects_qs=subjects_qs,
                match_df=match_df, match_value=None,
                sum_dfs=sum_df)

        self.assertEquals(11, total)
コード例 #6
0
ファイル: test_query.py プロジェクト: gareth-lloyd/flexsurvey
    def test_sum_facts_where_multiple(self):
        match_df = self.desired_fact
        sum_df = DesiredFact.objects.create(code='code2',
                                            label='a',
                                            data_type='I',
                                            required=True,
                                            content_type=self.content_type)

        self._save_fact('01', subject=self.subject, desired_fact=match_df)
        self._save_fact('06', subject=self.subject, desired_fact=sum_df)

        self._save_fact('01', subject=self.subject2, desired_fact=match_df)
        self._save_fact('05', subject=self.subject2, desired_fact=sum_df)

        subjects_qs = Project.objects.filter(id__in=(self.subject.id,
                                                     self.subject2.id))
        total = sum_facts_where(self.survey,
                                subjects_qs=subjects_qs,
                                match_df=match_df,
                                match_value=None,
                                sum_dfs=sum_df)

        self.assertEquals(11, total)