Пример #1
0
def prueba_obtener_productos_comprados_por_cliente(resultados_pruebas):
    archivo_1 = consultas.cargar_archivo(NOMBRE_ARCHIVO_VALIDO_1)

    descripcion = "compras de cliente válido C1 con configuración 1"
    res_esperado = ["P01", "P02", "P03"]
    res_real = consultas.obtener_productos_comprados_por_cliente(archivo_1, "C1")
    correr_prueba(set(res_esperado) == set(res_real), descripcion, resultados_pruebas)
    
    descripcion = "compras de cliente válido C2 con configuración 1"
    res_esperado = ["P01"]
    res_real = consultas.obtener_productos_comprados_por_cliente(archivo_1, "C2")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)
    
    descripcion = "compras de cliente inexistente C6 con configuración 1"
    res_esperado = []
    res_real = consultas.obtener_productos_comprados_por_cliente(archivo_1, "C6")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)
    
    archivo_2 = consultas.cargar_archivo(NOMBRE_ARCHIVO_VALIDO_2)
    
    descripcion = "compras de cliente válido C1 con configuración 2"
    res_esperado = ["P01", "P02", "P03"]
    res_real = consultas.obtener_productos_comprados_por_cliente(archivo_2, "C1")
    correr_prueba(set(res_esperado) == set(res_real), descripcion, resultados_pruebas)
              
    descripcion = "compras de cliente válido C2 con configuración 2"
    res_esperado = ["P01"]
    res_real = consultas.obtener_productos_comprados_por_cliente(archivo_2, "C2")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)
Пример #2
0
def consultar_productos_comprados_por_cliente(archivo):
    ''' Función que exporta a un archivo de salida un listado de los 
    productos comprados por un cliente, dado un archivo de entrada. 
    Se le solicita al usuario parte del nombre del cliente para después 
    seleccionar el nombre completo de una lista.
    '''
    # Obtiene el nombre del cliente.
    print("Ingrese parte del nombre del cliente a consultar.")
    nombre_parcial = interaccion_usuario.ingresar_cadena_no_vacia()
    nombres_posibles = \
        consultas.obtener_clientes_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_cliente = nombres_posibles[indice_nombre]
    resultados = consultas.obtener_productos_comprados_por_cliente(
        archivo, nombre_cliente)

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

    print("Resultados exportados al archivo " + nombre_salida)
Пример #3
0
def consultar_productos_comprados_por_cliente(archivo):
    ''' Función que exporta a un archivo de salida un listado de los 
    productos comprados por un cliente, dado un archivo de entrada. 
    Se le solicita al usuario parte del nombre del cliente para después 
    seleccionar el nombre completo de una lista.
    '''
    # Obtiene el nombre del cliente.
    print ("Ingrese parte del nombre del cliente a consultar.")
    nombre_parcial = interaccion_usuario.ingresar_cadena_no_vacia()
    nombres_posibles = \
        consultas.obtener_clientes_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_cliente = nombres_posibles[indice_nombre]
    resultados = consultas.obtener_productos_comprados_por_cliente(archivo, nombre_cliente)
    
    # Exporta los resultados - se preparan los datos de acuerdo a la 
    #   documentación de la función del módulo salida_resultados.
    titulo_consulta = "Productos que compró el cliente %s" % nombre_cliente
    cabecera = ("Producto",)
    resultados = [ (resultado,) for resultado in resultados ]
    nombre_salida = \
        salida_resultados.exportar_resultados(resultados, cabecera, titulo_consulta)
    
    print ("Resultados exportados al archivo " + nombre_salida)
Пример #4
0
def prueba_obtener_productos_comprados_por_cliente(resultados_pruebas):
    archivo_1 = consultas.cargar_archivo(NOMBRE_ARCHIVO_VALIDO_1)

    descripcion = "compras de cliente válido C1 con configuración 1"
    res_esperado = ["P01", "P02", "P03"]
    res_real = consultas.obtener_productos_comprados_por_cliente(
        archivo_1, "C1")
    correr_prueba(
        set(res_esperado) == set(res_real), descripcion, resultados_pruebas)

    descripcion = "compras de cliente válido C2 con configuración 1"
    res_esperado = ["P01"]
    res_real = consultas.obtener_productos_comprados_por_cliente(
        archivo_1, "C2")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)

    descripcion = "compras de cliente inexistente C6 con configuración 1"
    res_esperado = []
    res_real = consultas.obtener_productos_comprados_por_cliente(
        archivo_1, "C6")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)

    archivo_2 = consultas.cargar_archivo(NOMBRE_ARCHIVO_VALIDO_2)

    descripcion = "compras de cliente válido C1 con configuración 2"
    res_esperado = ["P01", "P02", "P03"]
    res_real = consultas.obtener_productos_comprados_por_cliente(
        archivo_2, "C1")
    correr_prueba(
        set(res_esperado) == set(res_real), descripcion, resultados_pruebas)

    descripcion = "compras de cliente válido C2 con configuración 2"
    res_esperado = ["P01"]
    res_real = consultas.obtener_productos_comprados_por_cliente(
        archivo_2, "C2")
    correr_prueba(res_esperado == res_real, descripcion, resultados_pruebas)