def test_one_unmatched_accession_in_batch(self): session = Session() batch_name = "TestBatch" accession = AccessionBuilder().set_batch(batch_name).build() session.add(accession) session.commit() unmatched_accessions_found = unmatched_accessions(session, batch_name) self.assertEqual(1, len(unmatched_accessions_found)) self.assertIn(accession, unmatched_accessions_found)
def test_one_unmatched_accessions_in_different_batches(self): session = Session() batch_name1 = "TestBatch1" unmatched_accession1 = AccessionBuilder().set_batch( batch_name1).build() session.add(unmatched_accession1) batch_name2 = "TestBatch2" unmatched_accession2 = AccessionBuilder().set_batch( batch_name2).build() session.add(unmatched_accession2) session.commit() unmatched_accessions_found = unmatched_accessions(session, batch_name1) self.assertEqual(1, len(unmatched_accessions_found)) self.assertIn(unmatched_accession1, unmatched_accessions_found)
def test_one_matched_and_one_unmatched_accession(self): session = Session() batch_name = "TestBatch" no_match_accession = AccessionBuilder().set_batch(batch_name).build() session.add(no_match_accession) match_accession = AccessionBuilder().set_batch(batch_name).build() match_restore = create_perfect_match(match_accession) session.add(match_accession) session.add(match_restore) accessions = session.query(Accession) new_matches_found = find_perfect_matches(session, accessions) self.assertEqual(1, len(new_matches_found)) session.commit() unmatched_accessions_found = unmatched_accessions(session, batch_name) self.assertEqual(1, len(unmatched_accessions_found)) self.assertIn(no_match_accession, unmatched_accessions_found)
def test_no_accessions(self): session = Session() unmatched_accessions_found = unmatched_accessions(session, "TestBatch") self.assertEqual(0, len(unmatched_accessions_found))
def test_unmatched_accessions_throws_error_if_batch_not_provided(self): session = Session() with self.assertRaises(ValueError): unmatched_accessions_found = unmatched_accessions(session)