class PrefixUnionMemberDict_Test(unittest.TestCase):

    def setUp(self):
        dnaseq = testutil.datafile('dnaseq.fasta')
        seqdb = SequenceFileDB(dnaseq)     # contains 'seq1', 'seq2'
        self.db = PrefixUnionDict({'prefix': seqdb})
        self.mdb = self.db.newMemberDict()

    def tearDown(self):
        close_pud_dicts(self.db)

    def test_basic(self):
        self.mdb['prefix'] = 'this is from seqdb dnaseq.fasta'
        seq = self.db['prefix.seq1']
        assert self.mdb[seq] == 'this is from seqdb dnaseq.fasta'

    def test_possible_keys(self):
        assert list(self.mdb.possibleKeys()) == ['prefix']

    def test_bad_prefix(self):
        try:
            self.mdb['foo'] = "xyz"
            assert 0, "should fail before this"
        except KeyError:
            pass

    def test_bad_keytype(self):
        try:
            self.mdb['some non-seq-obj']
            assert 0, "should fail before this"
        except TypeError:
            pass

    def test_default_val(self):
        self.mdb = self.db.newMemberDict(default='baz')
        seq = self.db['prefix.seq1']
        assert self.mdb[seq] == 'baz'

    def test_no_default_val(self):
        self.mdb = self.db.newMemberDict()
        seq = self.db['prefix.seq1']
        try:
            self.mdb[seq]
            assert 0, "should fail before this"
        except KeyError:
            pass
Beispiel #2
0
class PrefixUnionMemberDict_Test(unittest.TestCase):
    def setUp(self):
        dnaseq = testutil.datafile('dnaseq.fasta')
        seqdb = SequenceFileDB(dnaseq)  # contains 'seq1', 'seq2'
        self.db = PrefixUnionDict({'prefix': seqdb})
        self.mdb = self.db.newMemberDict()

    def tearDown(self):
        close_pud_dicts(self.db)

    def test_basic(self):
        self.mdb['prefix'] = 'this is from seqdb dnaseq.fasta'
        seq = self.db['prefix.seq1']
        assert self.mdb[seq] == 'this is from seqdb dnaseq.fasta'

    def test_possible_keys(self):
        assert list(self.mdb.possibleKeys()) == ['prefix']

    def test_bad_prefix(self):
        try:
            self.mdb['foo'] = "xyz"
            assert 0, "should fail before this"
        except KeyError:
            pass

    def test_bad_keytype(self):
        try:
            self.mdb['some non-seq-obj']
            assert 0, "should fail before this"
        except TypeError:
            pass

    def test_default_val(self):
        self.mdb = self.db.newMemberDict(default='baz')
        seq = self.db['prefix.seq1']
        assert self.mdb[seq] == 'baz'

    def test_no_default_val(self):
        self.mdb = self.db.newMemberDict()
        seq = self.db['prefix.seq1']
        try:
            self.mdb[seq]
            assert 0, "should fail before this"
        except KeyError:
            pass