Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    def test_no_accessions(self):
        session = Session()

        unmatched_accessions_found = unmatched_accessions(session, "TestBatch")
        self.assertEqual(0, len(unmatched_accessions_found))
Esempio n. 5
0
    def test_unmatched_accessions_throws_error_if_batch_not_provided(self):
        session = Session()

        with self.assertRaises(ValueError):
            unmatched_accessions_found = unmatched_accessions(session)