Beispiel #1
0
def prueba_obtener_nombres_posibles_de_productos(resultados_pruebas):
    archivo_4 = consultas.cargar_archivo(NOMBRE_ARCHIVO_VALIDO_4)
    
    descripcion = "obtiene productos cuando se especifica el nombre completo"
    res_esperado = ["P0"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(archivo_4, "P0")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)
              
    descripcion = "obtiene productos sin repetir si se compraron varios"
    res_esperado = ["P1"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(archivo_4, "P1")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)
              
    descripcion = "obtener productos diferencia espacios"
    res_esperado = ["P2"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(archivo_4, "P2")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)
              
    descripcion = "obtiene productos cuando se especifica el nombre incompleto"
    res_esperado = ["PP3", "P3P", "QP3", "P3"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(archivo_4, "P3")
    correr_prueba(set(res_esperado) == set(res_real), descripcion, resultados_pruebas)
              
    descripcion = "obtiene productos cuando sus nombres tienen espacios"
    res_esperado = ["P P4 P P"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(archivo_4, "P4")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)
def prueba_obtener_nombres_posibles_de_productos(resultados_pruebas):
    archivo_4 = consultas.cargar_archivo(NOMBRE_ARCHIVO_VALIDO_4)

    descripcion = "obtiene productos cuando se especifica el nombre completo"
    res_esperado = ["P0"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(
        archivo_4, "P0")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)

    descripcion = "obtiene productos sin repetir si se compraron varios"
    res_esperado = ["P1"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(
        archivo_4, "P1")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)

    descripcion = "obtener productos diferencia espacios"
    res_esperado = ["P2"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(
        archivo_4, "P2")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)

    descripcion = "obtiene productos cuando se especifica el nombre incompleto"
    res_esperado = ["PP3", "P3P", "QP3", "P3"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(
        archivo_4, "P3")
    correr_prueba(
        set(res_esperado) == set(res_real), descripcion, resultados_pruebas)

    descripcion = "obtiene productos cuando sus nombres tienen espacios"
    res_esperado = ["P P4 P P"]
    res_real = consultas.obtener_productos_con_nombre_incompleto(
        archivo_4, "P4")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)
Beispiel #3
0
def consultar_clientes_de_producto(archivo):
    ''' Función que exporta a un archivo de salida un listado de los 
    clientes que compraron un producto, dado un archivo de entrada.
    Se le solicita al usuario parte del nombre del producto para después 
    seleccionar el nombre completo de una lista.
    '''
    # Obtiene el nombre del producto.
    print ("Ingrese parte del nombre del producto a consultar.")
    nombre_parcial = interaccion_usuario.ingresar_cadena_no_vacia()
    nombres_posibles = \
        consultas.obtener_productos_con_nombre_incompleto(archivo, nombre_parcial)
    
    if len(nombres_posibles) == 0:
        print ("No se encontraron productos con ese nombre.")
        return
    
    indice_nombre = interaccion_usuario.mostrar_menu_generico(nombres_posibles, "Cancelar")
    if indice_nombre == -1:
        return
        
    nombre_producto = nombres_posibles[indice_nombre]
    resultados = consultas.obtener_clientes_de_producto(archivo, nombre_producto)
    
    # Exporta los resultados - se preparan los datos de acuerdo a la 
    #   documentación de la función del módulo salida_resultados.
    titulo_consulta = "Clientes que compraron el producto %s" % nombre_producto
    cabecera = ("Cliente",)
    resultados = [ (resultado,) for resultado in resultados ]
    nombre_salida = \
        salida_resultados.exportar_resultados(resultados, cabecera, titulo_consulta)
    
    print ("Resultados exportados al archivo " + nombre_salida)
Beispiel #4
0
def consultar_clientes_de_producto(archivo):
    ''' Función que exporta a un archivo de salida un listado de los 
    clientes que compraron un producto, dado un archivo de entrada.
    Se le solicita al usuario parte del nombre del producto para después 
    seleccionar el nombre completo de una lista.
    '''
    # Obtiene el nombre del producto.
    print("Ingrese parte del nombre del producto a consultar.")
    nombre_parcial = interaccion_usuario.ingresar_cadena_no_vacia()
    nombres_posibles = \
        consultas.obtener_productos_con_nombre_incompleto(archivo, nombre_parcial)

    if len(nombres_posibles) == 0:
        print("No se encontraron productos con ese nombre.")
        return

    indice_nombre = interaccion_usuario.mostrar_menu_generico(
        nombres_posibles, "Cancelar")
    if indice_nombre == -1:
        return

    nombre_producto = nombres_posibles[indice_nombre]
    resultados = consultas.obtener_clientes_de_producto(
        archivo, nombre_producto)

    # Exporta los resultados - se preparan los datos de acuerdo a la
    #   documentación de la función del módulo salida_resultados.
    titulo_consulta = "Clientes que compraron el producto %s" % nombre_producto
    cabecera = ("Cliente", )
    resultados = [(resultado, ) for resultado in resultados]
    nombre_salida = \
        salida_resultados.exportar_resultados(resultados, cabecera, titulo_consulta)

    print("Resultados exportados al archivo " + nombre_salida)