#!/usr/bin/env python
import rospy
import smach
import smach_ros

from bsc_receptionist import states, data, utils

import typer
from typing import Optional
from typing_extensions import Annotated
from geometry_msgs.msg import Pose, Point, Quaternion


def main():
    rospy.init_node("unit_test")

    sm = smach.StateMachine(outcomes=['failed', 'end'], output_keys=[])

    with sm:
        pass  # implement here

    sis = smach_ros.IntrospectionServer('unit_test', sm, '/SM_ROOT')
    sis.start()
    sm.execute()
    rospy.signal_shutdown("down")
    sis.stop()

    utils.module_log("Unit XX", "Name of unit test",
                     "[purple]Test results are ready![/purple]")


if __name__ == "__main__":
    import warnings

    with warnings.catch_warnings():
        warnings.simplefilter("ignore")
        typer.run(main)
