import sys

from PyQt5.QtWidgets import QApplication

import numpy as np

from . import PlotterDialog


def main():
    app = QApplication(sys.argv)

    variables = [chr(ord("a") + i) for i in range(10)]

    functions = [
        "abs",
        "acos",
        "acosh",
        "acot",
        "asin",
        "asinh",
        "atan",
        "avg",
        "cos",
        "cosh",
        "cot",
        "exp",
        "lg",
        "ln",
        "log2",
        "max",
        "min",
        "prod",
        "sgn",
        "sin",
        "sinh",
        "sqrt",
        "sum",
        "tanh",
        "tan",
    ]

    dlg = PlotterDialog(
        variable_full_names={key: key.upper() for key in variables},
        function_full_names={key: key.upper() for key in functions},
        variable_values={key: np.sort(np.random.random(10)) * 10 for key in variables},
    )
    dlg.show()

    sys.exit(app.exec())

main()
