def test_builder_pipeline(): """Test the entire builder pipeline.""" chanjo_db = Store(':memory:') chanjo_db.set_up() # test with minimal BED "file" bed_stream = io.open('tests/fixtures/CCDS.mini.bed', 'r', encoding='utf-8') init_db(chanjo_db, bed_stream) block = chanjo_db.get('block', 'CCDS2.2') assert block.start == 12 assert block.end == 35 superblock = chanjo_db.get('superblock', 'RFPL2') assert superblock.start == 32586759 assert superblock.end == 32589260 block_ids = [block_.id for block_ in superblock.blocks] assert set(block_ids) == set(['CCDS46694.1', 'CCDS54521.1']) assert len(chanjo_db.find('block')) == 5 assert len(chanjo_db.find('superblock')) == 4
class TestBuildElement(object): def setup(self): self.store = Store(':memory:') self.store.set_up() self.interval = BaseInterval('1', 10, 100, name='int1', block_ids=['block1', 'block2'], superblock_ids=['sblock1', 'sblock1']) self.db_interval = StoreInterval(interval_id=self.interval.name, contig=self.interval.contig, start=self.interval.start, end=self.interval.end, strand=self.interval.strand) self.interval_group = [('block2', self.db_interval, 'sblock1')] def test_build_interval(self): intervals = list(build_interval(self.store, self.interval)) self.store.save() new_interval = self.store.get('interval', self.interval.name) assert new_interval.id == self.interval.name assert new_interval.start == self.interval.start assert len(intervals) == 2 def test_build_block(self): superblock_id, new_block = build_block(self.store, self.interval_group) self.store.save() db_block = self.store.get('block', self.interval_group[0][0]) assert superblock_id == 'sblock1' assert new_block.id == db_block.id == self.interval_group[0][0] assert new_block.start == db_block.start == self.interval_group[0][ 1].start
class TestBuildElement(object): def setup(self): self.store = Store(":memory:") self.store.set_up() self.interval = BaseInterval( "1", 10, 100, name="int1", block_ids=["block1", "block2"], superblock_ids=["sblock1", "sblock1"] ) self.db_interval = StoreInterval( interval_id=self.interval.name, contig=self.interval.contig, start=self.interval.start, end=self.interval.end, strand=self.interval.strand, ) self.interval_group = [("block2", self.db_interval, "sblock1")] def test_build_interval(self): intervals = list(build_interval(self.store, self.interval)) self.store.save() new_interval = self.store.get("interval", self.interval.name) assert new_interval.id == self.interval.name assert new_interval.start == self.interval.start assert len(intervals) == 2 def test_build_block(self): superblock_id, new_block = build_block(self.store, self.interval_group) self.store.save() db_block = self.store.get("block", self.interval_group[0][0]) assert superblock_id == "sblock1" assert new_block.id == db_block.id == self.interval_group[0][0] assert new_block.start == db_block.start == self.interval_group[0][1].start