class TestPila(unittest.TestCase): def setUp(self): self.pila = Pila() self.d1 = 'dummy1' self.d2 = 'dummy2' self.d3 = 'dummy3' self.d4 = 'dummy4' def test_inicio(self): self.assertIsInstance(self.pila._datos, ListaConPyLista) def test_poner(self): self.pila.poner(self.d1) expected = str([self.d1]) self.assertEqual(expected, str(self.pila)) self.pila.poner(self.d2) expected = str([self.d1, self.d2]) self.assertEqual(expected, str(self.pila)) self.pila.poner(self.d3) expected = str([self.d1, self.d2, self.d3]) self.assertEqual(expected, str(self.pila)) self.pila.poner(self.d4) expected = str([self.d1, self.d2, self.d3, self.d4]) self.assertEqual(expected, str(self.pila)) def test_sacar(self): self.pila.poner(self.d1) self.pila.poner(self.d2) self.pila.poner(self.d3) self.pila.poner(self.d4) self.assertEqual(self.d4, self.pila.sacar()) self.assertEqual(self.d3, self.pila.sacar()) self.assertEqual(self.d2, self.pila.sacar()) self.assertEqual(self.d1, self.pila.sacar()) self.assertRaises(IndexError, self.pila.sacar) def test_tope(self): self.pila.poner(self.d1) self.assertEqual(self.d1, self.pila.tope()) self.pila.poner(self.d2) self.assertEqual(self.d2, self.pila.tope()) self.pila.poner(self.d3) self.assertEqual(self.d3, self.pila.tope()) self.pila.poner(self.d4) self.assertEqual(self.d4, self.pila.tope()) def test_EsVacia_si(self): self.assertTrue(self.pila.esVacia()) self.pila.poner(self.d1) elem = self.pila.sacar() self.assertTrue(self.pila.esVacia()) def test_EsVacia_no(self): self.pila.poner(self.d1) self.assertFalse(self.pila.esVacia()) self.pila.poner(self.d2) self.assertFalse(self.pila.esVacia()) elem = self.pila.sacar() self.assertFalse(self.pila.esVacia())
# Socket para enviar trabajo a los workers workers = context.socket(zmq.PUSH) workers.bind("tcp://*:5000") # Socket para recibir trabajo desde el sink para ser distribuido newWork = context.socket(zmq.PULL) newWork.connect("tcp://localhost:7000") print("Press enter when workers are ready ...") _ = input() pila = Pila() tablero = [[0, 7, 0, 0, 2, 0, 0, 5, 0], [0, 0, 3, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0, 9, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [4, 0, 0, 0, 0, 0, 0, 9, 0], [0, 0, 0, 1, 7, 0, 0, 0, 3], [0, 0, 5, 0, 0, 0, 0, 0, 7], [3, 0, 0, 0, 8, 6, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0]] dic = {"tablero": tablero, "n": None, "x": None, "y": None, "prof": 0} pila.agregar(dic) while True: if not pila.vacia(): workers.send_json(pila.sacar()) else: print("no hay") m = newWork.recv_json() pila.agregar(m)