Beispiel #1
0
def test_db_persistence():
    '''
    This test is a simple test of the DB, not important since the DB code and this test will need to get rewritten.
    '''
    import tube, db
    from data import tension, leak
    tubes = db.db()
    dbman = db.db_manager()
    dbman.wipe('confirm')
    tube1 = tube.Tube()
    tube2 = tube.Tube()
    tube1.m_tube_id = "MSU0000001"
    tube2.m_tube_id = "MSU0000001"
    tube1.tension.add_record(tension.TensionRecord(350))
    tube2.tension.add_record(tension.TensionRecord(355))
    tube2.leak.add_record(leak.LeakRecord(0))
    tubes.add_tube(tube1)
    tubes.add_tube(tube2)

    dbman.update()

    del tubes
    tubes = db.db()

    tube4 = tubes.get_tube("MSU0000001")
    assert len(tube4.tension.get_record('all')) == 2
    assert tube4.leak.get_record('last').leak_rate == 0

    del tubes

    tubes = db.db()
    dbman.wipe('confirm')
    with pytest.raises(KeyError):
        tube4 = tubes.get_tube("MSU0000001")
    assert tubes.size() == 0
Beispiel #2
0
def consulta_avanzadas_2():
    print_info_consultas(
        "Concursantes que hayan cantado con el ganador de la gala final directamente o indirectamente (con otro concursante que haya cantado con el directamente) y que al mismo tiempo nunca han cantado directamente con un expulsado en la gala final."
    )

    print_results(db.db_manager().query(
        queries.get_concursantes_relacionados_ganador))
Beispiel #3
0
def test_db_add_tube():
    '''
    This test is a simple test of adding tubes to the DB, not important since the DB code and this test will need to get rewritten.
    '''
    import tube, db
    from data import swage, tension, leak, dark_current
    tubes = db.db()
    dbman = db.db_manager()
    dbman.wipe('confirm')
    tube1 = tube.Tube()
    tube2 = tube.Tube()
    tube1.m_tube_id = "MSU0000001"
    tube2.m_tube_id = "MSU0000001"
    tube1.tension.add_record(tension.TensionRecord(350))
    tube2.tension.add_record(tension.TensionRecord(355))
    tube2.leak.add_record(leak.LeakRecord(0))
    tubes.add_tube(tube1)
    dbman.update()
    tube3 = tubes.get_tube("MSU0000001")
    assert len(tube3.tension.get_record('all')) == 1
    with pytest.raises(IndexError):
        tube3.leak.get_record('last').leak_rate == 0
    tubes.add_tube(tube2)
    dbman.update()

    tube4 = tubes.get_tube("MSU0000001")
    assert len(tube4.tension.get_record('all')) == 2
    assert tube4.leak.get_record('last').leak_rate == 0
Beispiel #4
0
def consulta_avanzadas_1():
    print_info_consultas(
        "Concursante que haya cantado con al menos dos concursantes que han sido expulsados despues de la gala 8"
    )

    print_results(db.db_manager().query(
        queries.get_concursante_canta_expulsados))
Beispiel #5
0
def consulta_intermedias_2():
    print_info_consultas(
        "Concursantes que colaboran con otros participantes tantas veces como el concursante con mas colaboraciones"
    )

    print_results(db.db_manager().query(
        queries.get_concursantes_mas_colaboraciones))
Beispiel #6
0
def consulta_elemental_1():
    print_info_consultas("Edad del concursante mayor")

    print_results(db.db_manager().query(
        queries.get_concursante_con_mayor_edad))
Beispiel #7
0
def consulta_intermedias_1():
    print_info_consultas(
        "Fecha de la gala en la que fue expulsado el concursante Dave Zulueta")

    print_results(db.db_manager().query(queries.get_fecha_expulsion_dave))
Beispiel #8
0
def consulta_elemental_2():
    print_info_consultas(
        "Concursantes alemanes con toda la informacion de cada uno")

    print_results(db.db_manager().query(queries.get_concursantes_alemanes))