# coding: utf-8

"""
    ibl-data-manager

    API for iblai

    The version of the OpenAPI document: 3.6.0-ai-plus
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from iblai.models.observation import Observation

class TestObservation(unittest.TestCase):
    """Observation unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Observation:
        """Test Observation
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `Observation`
        """
        model = Observation()
        if include_optional:
            return Observation(
                id = '',
                trace_id = '',
                project_id = '',
                type = '',
                start_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                end_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                name = '',
                metadata = {
                    'key' : null
                    },
                parent_observation_id = '',
                level = '',
                status_message = '',
                version = '',
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                model = '',
                model_parameters = {
                    'key' : null
                    },
                input = None,
                output = None,
                prompt_tokens = 56,
                completion_tokens = 56,
                total_tokens = 56,
                unit = '',
                completion_start_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                prompt_id = '',
                usage = {
                    'key' : null
                    },
                price = 1.337
            )
        else:
            return Observation(
                id = '',
                trace_id = '',
                project_id = '',
                type = '',
                start_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                end_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                name = '',
                metadata = {
                    'key' : null
                    },
                parent_observation_id = '',
                level = '',
                status_message = '',
                version = '',
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                model = '',
                model_parameters = {
                    'key' : null
                    },
                input = None,
                output = None,
                prompt_tokens = 56,
                completion_tokens = 56,
                total_tokens = 56,
                unit = '',
                completion_start_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                prompt_id = '',
                price = 1.337,
        )
        """

    def testObservation(self):
        """Test Observation"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
