def test_accumulate_result(self): """ Test if typos are adding """ self.twit['text'] = self.twit['text'].replace('peacekeepers', 'pisskeepers').replace('bodies', 'bodjes') self.assertEqual(data_processor.register_result(self.twit), 2) self.assertEqual(Result.objects.count(), 1) self.assertEqual(Result.objects.all()[0].typos, 2) self.assertEqual(data_processor.register_result(self.twit), 2) self.assertEqual(Result.objects.count(), 1) self.assertEqual(Result.objects.all()[0].typos, 4)
def test_register_result_more_typos(self): """ Test registering result for two typos """ self.twit['text'] = self.twit['text'].replace('peacekeepers', 'pisskeepers').replace('bodies', 'bodjes') self.assertEqual(data_processor.register_result(self.twit), 2) self.assertEqual(Result.objects.count(), 1) self.assertEqual(Result.objects.all()[0].typos, 2)
def test_register_result(self): """ Test registering result """ self.twit['text'] = self.twit['text'].replace('peacekeepers', 'pisskeepers') self.assertEqual(data_processor.register_result(self.twit), 1) self.assertEqual(Result.objects.count(), 1) self.assertEqual(Result.objects.all()[0].typos, 1)
def test_register_result_two_hashtags(self): """ Test registering results for two hashtags """ self.twit['text'] = self.twit['text'].replace('peacekeepers', 'pisskeepers') self.twit['entities']['hashtags'].append({'text': self.hashtag_test.name}) self.assertEqual(data_processor.register_result(self.twit), 1) self.assertEqual(Result.objects.count(), 2) for r in Result.objects.all(): self.assertEqual(r.typos, 1)
def test_register_result_once(self): """ Test if results are being registered only for current battles and for related hashtags """ battle_finished = Battle.objects.create(start_date=self.now - timedelta(2), end_date=self.now - timedelta(1)) battle_finished.hashtags.add(self.hashtag_mali) self.twit['text'] = self.twit['text'].replace('peacekeepers', 'pisskeepers') self.assertEqual(data_processor.register_result(self.twit), 1) self.assertEqual(Result.objects.count(), 1) self.assertEqual(Result.objects.all()[0].typos, 1)
def test_register_result_two_battles(self): """ Test registering results for two battles with the same hashtag """ battle = Battle.objects.create(start_date=self.now, end_date=self.now + timedelta(1)) battle.hashtags.add(self.hashtag_test) self.twit['text'] = self.twit['text'].replace('peacekeepers', 'pisskeepers') self.twit['entities']['hashtags'].append({'text': self.hashtag_test.name}) self.assertEqual(data_processor.register_result(self.twit), 1) self.assertEqual(Result.objects.count(), 3) self.assertEqual(Battle.objects.filter(hashtags__name=self.hashtag_test.name).count(), 2) for r in Result.objects.all(): self.assertEqual(r.typos, 1)
def test_register_result_no_typos(self): """ Confirm that result are not being registered if there is no typos """ self.assertEqual(data_processor.register_result(self.twit), 0) self.assertFalse(Result.objects.all())