示例#1
0
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])
示例#2
0
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)
示例#4
0
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)
示例#5
0
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)
示例#6
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))
示例#7
0
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)