コード例 #1
0
ファイル: test_ed.py プロジェクト: chaabni/SmartElect
    def test_duplicate_reports(self):
        # The processing code does not reorder data. It relies on the ordering set in
        # the database query. This test just verifies that the last report per period is
        # the one that counts (irrespective of the timestamp)
        feb20 = datetime.date(2014, 2, 20)
        self.center_reports = [
            {'polling_center_code': '11001',
             'date': feb20,
             'reported': datetime.time(1, 0, 0),
             'voting_period': '1',
             'votes_reported': 8},
            {'polling_center_code': '11001',
             'date': feb20,
             'reported': datetime.time(2, 0, 0),
             'voting_period': '1',
             'votes_reported': 58},
        ]
        center_vote_counts = dict()
        result = process_raw_data(self.polling_centers, self.inactive_for_election,
                                  self.center_opens, self.center_reports, center_vote_counts)
        votes = result['by_polling_center']['11001']['2014-02-20']['1']
        self.assertEqual(votes, 58)

        # even if we make the first report 'later', it doesn't matter
        self.center_reports[0]['reported'] = datetime.time(3, 0, 0)
        result = process_raw_data(self.polling_centers, self.inactive_for_election,
                                  self.center_opens, self.center_reports, center_vote_counts)
        votes = result['by_polling_center']['11001']['2014-02-20']['1']
        self.assertEqual(votes, 58)
コード例 #2
0
ファイル: test_ed.py プロジェクト: chaabni/SmartElect
 def test_opened(self):
     feb20 = datetime.date(2014, 2, 20)
     self.center_opens = [
         {'polling_center_code': '11001', 'date': feb20, 'opened': datetime.time(8, 13, 21)},
     ]
     center_vote_counts = dict()
     result = process_raw_data(self.polling_centers, self.inactive_for_election,
                               self.center_opens, self.center_reports, center_vote_counts)
     self.assertEqual(result['dates'], ['2014-02-20'])
     self.assertIn('11001', result['by_polling_center'])
     self.assertEqual(result['by_polling_center']['11001']['2014-02-20']['opened'], '08:13:21')
コード例 #3
0
ファイル: test_ed.py プロジェクト: pysoft-net/SmartElect
    def test_prelim_vote_count_rollup(self):
        center_reports = [
            {
                'polling_center_code': '11001',
                'date': now(),
                'reported': datetime.time(1, 0, 0),
                'voting_period': '1',
                'votes_reported': 8
            },
        ]
        center_vote_counts = {
            '11001': {
                'country': 'Libya',
                'office_id': self.test_office_1,
                'polling_center_code': 11001,
                'prelim_counts': {
                    1: 25,
                    2: 50
                },
                'region': self.test_region
            },
            '11002': {
                'country': 'Libya',
                'office_id': self.test_office_2,
                'polling_center_code': 11002,
                'prelim_counts': {
                    1: 14
                },
                'region': self.test_region
            }
        }
        result = process_raw_data(self.polling_centers,
                                  self.inactive_for_election,
                                  self.center_opens, center_reports,
                                  center_vote_counts)

        prelim_counts = result['by_country']['Libya']['prelim_counts']
        self.assertEqual(prelim_counts[1], 39)
        self.assertEqual(prelim_counts[2], 50)

        prelim_counts = result['by_region'][Office.REGION_NAMES[
            self.test_region]]['prelim_counts']
        self.assertEqual(prelim_counts[1], 39)
        self.assertEqual(prelim_counts[2], 50)

        prelim_counts = result['by_office'][
            self.test_office_1]['prelim_counts']
        self.assertEqual(prelim_counts[1], 25)
        self.assertEqual(prelim_counts[2], 50)

        prelim_counts = result['by_office'][
            self.test_office_2]['prelim_counts']
        self.assertEqual(prelim_counts[1], 14)
        self.assertFalse(2 in prelim_counts)
コード例 #4
0
ファイル: test_ed.py プロジェクト: pysoft-net/SmartElect
 def test_inactive(self):
     result = process_raw_data(self.polling_centers,
                               self.inactive_for_election,
                               self.center_opens, self.center_reports,
                               dict())
     self.assertEqual(
         result['by_office'][self.test_office_1]['inactive_for_election'],
         [11003])
     self.assertEqual(
         result['by_office'][self.test_office_2]['inactive_for_election'],
         [])
     self.assertEqual(
         result['by_polling_center']['11003']['inactive_for_election'],
         True)
コード例 #5
0
ファイル: test_ed.py プロジェクト: pysoft-net/SmartElect
    def test_duplicate_reports(self):
        # The processing code does not reorder data. It relies on the ordering set in
        # the database query. This test just verifies that the last report per period is
        # the one that counts (irrespective of the timestamp)
        feb20 = datetime.date(2014, 2, 20)
        self.center_reports = [
            {
                'polling_center_code': '11001',
                'date': feb20,
                'reported': datetime.time(1, 0, 0),
                'voting_period': '1',
                'votes_reported': 8
            },
            {
                'polling_center_code': '11001',
                'date': feb20,
                'reported': datetime.time(2, 0, 0),
                'voting_period': '1',
                'votes_reported': 58
            },
        ]
        center_vote_counts = dict()
        result = process_raw_data(self.polling_centers,
                                  self.inactive_for_election,
                                  self.center_opens, self.center_reports,
                                  center_vote_counts)
        votes = result['by_polling_center']['11001']['2014-02-20']['1']
        self.assertEqual(votes, 58)

        # even if we make the first report 'later', it doesn't matter
        self.center_reports[0]['reported'] = datetime.time(3, 0, 0)
        result = process_raw_data(self.polling_centers,
                                  self.inactive_for_election,
                                  self.center_opens, self.center_reports,
                                  center_vote_counts)
        votes = result['by_polling_center']['11001']['2014-02-20']['1']
        self.assertEqual(votes, 58)
コード例 #6
0
ファイル: test_ed.py プロジェクト: chaabni/SmartElect
    def test_prelim_vote_count_rollup(self):
        center_reports = [
            {'polling_center_code': '11001',
             'date': now(),
             'reported': datetime.time(1, 0, 0),
             'voting_period': '1',
             'votes_reported': 8},
        ]
        center_vote_counts = {
            '11001': {
                'country': 'Libya',
                'office_id': self.test_office_1,
                'polling_center_code': 11001,
                'prelim_counts': {
                    1: 25,
                    2: 50
                },
                'region': self.test_region
            },
            '11002': {
                'country': 'Libya',
                'office_id': self.test_office_2,
                'polling_center_code': 11002,
                'prelim_counts': {
                    1: 14
                },
                'region': self.test_region
            }
        }
        result = process_raw_data(self.polling_centers, self.inactive_for_election,
                                  self.center_opens, center_reports, center_vote_counts)

        prelim_counts = result['by_country']['Libya']['prelim_counts']
        self.assertEqual(prelim_counts[1], 39)
        self.assertEqual(prelim_counts[2], 50)

        prelim_counts = result['by_region'][Office.REGION_NAMES[self.test_region]]['prelim_counts']
        self.assertEqual(prelim_counts[1], 39)
        self.assertEqual(prelim_counts[2], 50)

        prelim_counts = result['by_office'][self.test_office_1]['prelim_counts']
        self.assertEqual(prelim_counts[1], 25)
        self.assertEqual(prelim_counts[2], 50)

        prelim_counts = result['by_office'][self.test_office_2]['prelim_counts']
        self.assertEqual(prelim_counts[1], 14)
        self.assertFalse(2 in prelim_counts)
コード例 #7
0
ファイル: test_ed.py プロジェクト: pysoft-net/SmartElect
 def test_opened(self):
     feb20 = datetime.date(2014, 2, 20)
     self.center_opens = [
         {
             'polling_center_code': '11001',
             'date': feb20,
             'opened': datetime.time(8, 13, 21)
         },
     ]
     center_vote_counts = dict()
     result = process_raw_data(self.polling_centers,
                               self.inactive_for_election,
                               self.center_opens, self.center_reports,
                               center_vote_counts)
     self.assertEqual(result['dates'], ['2014-02-20'])
     self.assertIn('11001', result['by_polling_center'])
     self.assertEqual(
         result['by_polling_center']['11001']['2014-02-20']['opened'],
         '08:13:21')
コード例 #8
0
ファイル: test_ed.py プロジェクト: chaabni/SmartElect
 def test_inactive(self):
     result = process_raw_data(self.polling_centers, self.inactive_for_election,
                               self.center_opens, self.center_reports, dict())
     self.assertEqual(result['by_office'][self.test_office_1]['inactive_for_election'], [11003])
     self.assertEqual(result['by_office'][self.test_office_2]['inactive_for_election'], [])
     self.assertEqual(result['by_polling_center']['11003']['inactive_for_election'], True)