def test_box_dims(self): t = Template() t.add(Block(5)) t.add(Block(5, posy=1)) t.add(Block(5, posy=2)) assert t.box_dimensions() == (1, 3, 1) t.add(Block(5, posz=1)) assert t.box_dimensions() == (1, 3, 2) t2 = Template() t2.add(Block(5, posx=-5)) t2.add(Block(5, posx=-4)) assert t2.box_dimensions() == (2, 1, 1)
def test_block_count(self): t = Template() t.add(Block(1)) t.add(Block(2)) t.add(Block(5)) block_count = t.count_by_block() assert len(block_count.keys()) == 3
def test_block_pos_query(self): t = Template() block1 = Block(5) block1.move_to(4, 7, 3) block2 = Block(5) block2.move_to(3, 3, 3) t.add(block1) t.add(block2) compare_block = t.get_block_at(3, 3, 3) assert compare_block == block2
def test_block_batch_replace(self): t = Template() for x in xrange(10): t.add(Block(5, posx=x)) t.add(Block(431, posy=x)) t.add(Block(432, posx=3, posy=3, posz=3)) assert t.num_blocks() == 21 oranges = len(t.get_all_blocks(color='orange')) t.replace({'color': 'orange'}, {'color': 'blue'}) blues = t.get_all_blocks(color='blue') assert oranges == len(blues)
def test_save_new_data(self): saved_name = tpl_dir + 'generate.smtpl' t1 = Template() b1 = Block.from_itemname('Activation Module') b2 = Block(409, posy=1) t1.connect_blocks(b1, b2) t1.add(b1) t1.add(b2) t1.save(saved_name) t2 = Template.fromSMTPL(saved_name) os.remove(saved_name) assert t1.num_blocks() == t2.num_blocks() assert t1.num_connections() == t2.num_connections()
def test_block_query(self): t = Template() for x in xrange(10): t.add(Block(5, posx=x)) t.add(Block(431, posy=x)) t.add(Block(432, posx=3, posy=3, posz=3)) assert t.num_blocks() == 21 orange_blocks = t.get_all_blocks(color='orange') assert len(orange_blocks) == 11 orange_hulls = t.get_all_blocks(color='orange', shape=shape('block')) print[b.shape for b in orange_hulls] assert len(orange_hulls) == 10 orange_wedges = t.get_all_blocks(color='orange', shape=shape('wedge')) assert len(orange_wedges) == 1
def test_init(self): t = Template() t.add(Block(5)) t.add(Block(5, posy=1)) assert t.num_blocks() == 2
def test_make_connections(self): t = Template() t.add(Block(5)) t.add(Block(5, posy=1)) t.connect_blocks_at((0, 0, 0), (0, 1, 0)) assert t.num_connections() == 1
def test_empty(self): t = Template() d = t.box_dimensions() b = t.count_by_block() assert True