def test_small_armors(self): t1 = Template.fromSMTPL(tpl_dir + 'AAAstandardgrey.smtpl') assert len(t1.blocks) == 1 assert t1.blocks[0].id == 5 t2 = Template.fromSMTPL(tpl_dir + 'AAAbasicgrey.smtpl') assert t2.blocks[0].id == 598 t3 = Template.fromSMTPL(tpl_dir + 'AAApossiblesalvage.smtpl') assert t3.blocks[0].id == 4
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_save_orientation_data(self): fname = tpl_dir + 'tutorial1.smtpl' saved_name = tpl_dir + 'tutorial1-save.smtpl' t1 = Template.fromSMTPL(fname) t1.save(saved_name) t2 = Template.fromSMTPL(saved_name) os.remove(saved_name) # TODO: # Check to make sure all the wedges have the same orientation # as the original file pass
def test_save_data(self): saved_name = tpl_dir + 'connections/pulse test 5 (saved).smtpl' t1 = Template.fromSMTPL(tpl_dir + 'connections/pulse test 5.smtpl') t1.save(saved_name) t2 = Template.fromSMTPL(saved_name) t1not = t1.get_all_blocks(name="NOT-Signal")[0] t2not = t2.get_all_blocks(name="NOT-Signal")[0] os.remove(saved_name) # Make sure active states on blocks are being saved correctly assert t1not.active == t2not.active assert t1.num_blocks() == t2.num_blocks() # Make sure connections between blocks are saved assert t1.num_connections() == t2.num_connections()
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_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_init(self): t = Template() t.add(Block(5)) t.add(Block(5, posy=1)) assert t.num_blocks() == 2
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_active_states(self): t1 = Template.fromSMTPL(tpl_dir + 'Pulse.smtpl') assert t1.get_all_blocks(name="NOT-Signal")[0].active == True assert len(t1.get_all_blocks(active=False)) == 3
def test_logic_blocks(self): t1 = Template.fromSMTPL(tpl_dir + 'XOR Gate.smtpl') assert t1.num_blocks() == 8
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
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_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