def test_infoElements(stack, books): assert (st.size(stack) == 0) assert (st.isEmpty(stack)) st.push(stack, books[5]) st.push(stack, books[6]) st.push(stack, books[3]) st.push(stack, books[10]) st.push(stack, books[1]) st.push(stack, books[2]) st.push(stack, books[8]) st.push(stack, books[4]) st.push(stack, books[7]) st.push(stack, books[9]) elem = st.top(stack) assert (st.size(stack) == 10) assert (elem == books[9]) elem = st.pop(stack) assert (st.size(stack) == 9) assert (elem == books[9]) elem = st.pop(stack) assert (st.size(stack) == 8) assert (elem == books[7]) elem = st.top(stack) assert (st.size(stack) == 8) assert (elem == books[4]) st.push(stack, books[9]) assert (st.size(stack) == 9) elem = st.top(stack) assert (elem == books[9])
def test_top_pop(): """ Este test prueba la creacion de una cola y que el orden de salida sea el correcto para la estructura en cuestion, y que el tamaño se reduzca para cada salida de objeto """ stack = st.newStack(list_type) assert st.size(stack) == 0 assert st.isEmpty(stack) st.push(stack, book5) st.push(stack, book6) st.push(stack, book3) st.push(stack, book10) st.push(stack, book1) st.push(stack, book2) st.push(stack, book8) st.push(stack, book4) st.push(stack, book7) st.push(stack, book9) total = st.size(stack) while not (st.isEmpty(stack)): top = st.top(stack) assert (st.pop(stack) == top) total -= 1 assert (total == st.size(stack))
def addBike(citibike, origin, destination, duration, bike, startTime,stopTime): bikes = m.get(citibike["bikes"], bike) initialDate = (datetime.datetime.strptime(startTime[0:19], '%Y-%m-%d %H:%M:%S')).date() finalTime = stopTime[11:16] initialTime = startTime[11:16] if bikes is None: datesHash = m.newMap(numelements=784, maptype="PROBING", loadfactor=0.5, comparefunction=compareStopIds) m.put(citibike["bikes"], bike, datesHash) if m.get(me.getValue(m.get(citibike["bikes"], bike)), initialDate) is None: datesHash = me.getValue(m.get(citibike["bikes"], bike)) bikes = {"routes":None, "useTime":0, "breakTime":0, "times": None} bikes["routes"] = lt.newList(datastructure="ARRAY_LIST", cmpfunction=compareroutes) bikes["times"]=st.newStack() m.put(datesHash,initialDate, bikes) datesHash = me.getValue(m.get(me.getValue(m.get(citibike["bikes"], bike)), initialDate)) if lt.size(datesHash["routes"]) == 0: lt.addLast(datesHash["routes"], origin) else: lt.addLast(datesHash["routes"], destination) breakTime = seeTime(st.top(datesHash["times"]),initialTime) datesHash["breakTime"]+=breakTime datesHash["useTime"]+=duration/60 st.push(datesHash["times"], finalTime)
def test_infoElements(): """ Este test busca confirmar que los datos se almacenen de forma correcta y que sean los valores correctos en el orden apropiado de la estructura. """ stack = st.newStack(list_type) assert (st.size(stack) == 0) assert (st.isEmpty(stack)) st.push(stack, book5) st.push(stack, book6) st.push(stack, book3) st.push(stack, book10) st.push(stack, book1) st.push(stack, book2) st.push(stack, book8) st.push(stack, book4) st.push(stack, book7) st.push(stack, book9) elem = st.top(stack) assert (st.size(stack) == 10) assert (elem == book9) elem = st.pop(stack) assert (st.size(stack) == 9) assert (elem == book9) elem = st.pop(stack) assert (st.size(stack) == 8) assert (elem == book7) elem = st.top(stack) assert (st.size(stack) == 8) assert (elem == book4) st.push(stack, book9) assert (st.size(stack) == 9) elem = st.top(stack) assert (elem == book9)
def test_push_pop(): """ Este test prueba que la cola pueda manejar inserciones y eliminaciones de forma correcta siguiendo un orden establecido, y que no quede referencia al objeto sacado despues de haberlo removido de la cola """ stack = st.newStack(list_type) assert (st.size(stack) == 0) assert (st.isEmpty(stack)) st.push(stack, book5) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, book6) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, book3) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, book10) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, book1) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, book2) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, book8) st.push(stack, book4) st.push(stack, book7) st.push(stack, book9) assert (st.size(stack) == 4) assert book9 == st.pop(stack) assert book7 == st.pop(stack) assert book4 == st.pop(stack) assert book8 == st.pop(stack) assert (st.size(stack) == 0)
def test_top_pop(stack, books): assert st.size(stack) == 0 assert st.isEmpty(stack) st.push(stack, books[5]) st.push(stack, books[6]) st.push(stack, books[3]) st.push(stack, books[10]) st.push(stack, books[1]) st.push(stack, books[2]) st.push(stack, books[8]) st.push(stack, books[4]) st.push(stack, books[7]) st.push(stack, books[9]) total = st.size(stack) while not (st.isEmpty(stack)): top = st.top(stack) assert (st.pop(stack) == top) total -= 1 assert (total == st.size(stack))
def test_push_pop(stack, books): assert (st.size(stack) == 0) assert (st.isEmpty(stack)) st.push(stack, books[5]) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, books[6]) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, books[3]) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, books[10]) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, books[1]) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, books[2]) assert (st.size(stack) == 1) assert (st.top(stack) == st.pop(stack)) assert (st.size(stack) == 0) st.push(stack, books[8]) st.push(stack, books[4]) st.push(stack, books[7]) st.push(stack, books[9]) assert (st.size(stack) == 4) assert books[9] == st.pop(stack) assert books[7] == st.pop(stack) assert books[4] == st.pop(stack) assert books[8] == st.pop(stack) assert (st.size(stack) == 0)