def test_bad_break(self): ''' Ensure no break in the first line ''' run = RankingRun('ORG-test-1', 'this is \n a test run') run.save('./tmp') with open('./tmp/ORG-test-1.tsv', 'r') as f: lines = f.readlines() self.assertEqual(len(lines), 1)
def test_ranking_run_save(self): ''' RankingRun.save ''' run = RankingRun('ORG-test-1', 'this is a test run') for task in self.tasks['E']: run.add(task.query.qid, [(i, 0) for i in task.iunits]) run.save('./tmp') self.assertTrue(os.path.exists('./tmp/ORG-test-1.tsv')) with open('./tmp/ORG-test-1.tsv', 'r') as f: lines = f.readlines() self.assertEqual(len(lines), sum([len(t.iunits) for t in self.tasks['E']]) + 1) self.assertEqual(lines[0].strip(), 'this is a test run') self.assertEqual(len(lines[1].split('\t')), 3)
def test_all_iunits(self): ''' Ensure all the iUnits are included ''' run = RankingRun('ORG-test-1', 'this is a test run') iunits = [] for task in self.tasks['E']: run.add(task.query.qid, [(i, 0) for i in task.iunits]) for i in task.iunits: iunits.append(i.uid) run.save('./tmp') output_iunits = set() with open('./tmp/ORG-test-1.tsv', 'r') as f: for lineno, line in enumerate(f): if lineno != 0: uid = line.split('\t')[1].strip() output_iunits.add(uid) self.assertEqual(len(set(iunits)), len(output_iunits)) for i in iunits: self.assertIn(i, output_iunits)