def test_first_free_position(self): p = Pilha('TESTE') position = p.first_free_position() assert position == ('A', '1') position = p.stack(self.c1, position) position2 = p.first_free_position() assert position != position2
def test_getcontainerinposition(self): p = Pilha('TESTE') position = p.stack(self.c1) # print(position) c = p.get_containerinposition(position) assert c == self.c1 c = p.get_containerinposition('NONECSIST') assert c is None
def test_has_space(self): p = Pilha('TESTE') assert p.has_space() is True p.stack(self.c1) assert p.has_space() is True for r in range(29): p.stack(Container(str(r))) assert p.has_space() is False assert p.stack(self.c2) is False
def test_is_position_free(self): p = Pilha('TESTE') assert p.is_position_free('A1') position = p.stack(self.c1) assert p.is_position_free(position) == (False, False) position = p.stack(self.c2) assert p.is_position_free(position) == (False, False) p.remove(position, self.c2) assert p.is_position_free(position)
def test_up_locked(self): p = Pilha('TESTE') position1 = p.stack(self.c1) position2 = p.stack(self.c2) # print(position1) coluna, altura = p.position_totuple(position1) locked = p.up_locked(coluna, altura) assert locked is True locked = p.up_locked_position(position2) assert locked is False p.stack(Container('3')) p.stack(Container('4')) position5 = p.stack(Container('5')) locked = p.up_locked_position(position5) assert locked is True
def test_side_locked(self): p = Pilha('TESTE') position1 = p.stack(self.c1, 'A1') # print('p', position1) coluna, altura = p.position_totuple(position1) # print(coluna, altura) locked = p.side_locked(coluna, altura) assert locked == set() position2 = p.stack(self.c2, 'B1') coluna, altura = p.position_totuple(position1) locked = p.side_locked(coluna, altura) assert locked == {Pilha.RIGHT} locked = p.side_locked_position(position2) assert locked == {Pilha.LEFT}
def test_time_mean(self): p = Pilha('TESTE') assert p.time_mean() == 0 p.stack(self.c1) p.stack(self.c2) assert p.time_mean() == \ (self.c1.time_to_leave + self.c2.time_to_leave) / 2 p = Pilha('TESTE') for i in range(30): p.stack(self.c1) assert p.time_mean() == self.c1.time_to_leave
def test_posicao_invalida(self): p = Pilha('TESTE') position = p.stack(self.c1, 'A2') # print(position) assert position is False
def test_posicao_inexistente(self): p = Pilha('TESTE') with self.assertRaises(KeyError): p.stack(self.c1, 'A9')
def test_position_totuple(self): p = Pilha('TESTE') coluna, altura = p.position_totuple('A1') assert (coluna, altura) == ('A', '1')
def test_pilha(self): p = Pilha('TESTE') assert p._nome == 'TESTE' assert p._pilha is not None assert isinstance(p._pilha, dict)
def test_remove(self): p = Pilha('TESTE') position1 = p.stack(self.c1) position2 = p.stack(self.c2) coluna, altura = p.position_totuple(position1) locked = p.up_locked(coluna, altura) assert locked is True success = p.remove(position1, self.c1) assert success is False assert p.is_position_free(position1) == (False, False) success = p.remove(position1, self.c2) assert success is False assert p.is_position_free(position1) == (False, False) success = p.remove(position2, self.c2) assert success is True assert p.is_position_free(position2) == ('A', '2') coluna, altura = p.position_totuple(position1) locked = p.up_locked(coluna, altura) assert locked is False