# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 1.3.0
    Contact: info@mixpeek.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from mixpeek.models.benchmark_response import BenchmarkResponse

class TestBenchmarkResponse(unittest.TestCase):
    """BenchmarkResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> BenchmarkResponse:
        """Test BenchmarkResponse
            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 `BenchmarkResponse`
        """
        model = BenchmarkResponse()
        if include_optional:
            return BenchmarkResponse(
                benchmark_id = '',
                benchmark_name = '',
                baseline_retriever_id = '',
                candidate_retriever_ids = [
                    ''
                    ],
                session_filter = mixpeek.models.session_filter.SessionFilter(
                    retriever_ids = [
                        ''
                        ], 
                    taxonomy_node_ids = [
                        ''
                        ], 
                    time_range = mixpeek.models.time_range.TimeRange(
                        start = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        end = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), 
                    min_interactions = 1.0, 
                    interaction_types = [
                        ''
                        ], 
                    sample_strategy = 'random', 
                    interaction_weights = null, ),
                session_count = 56,
                status = 'pending',
                results = [
                    mixpeek.models.benchmark_result.BenchmarkResult(
                        retriever_id = '', 
                        retriever_name = '', 
                        pipeline_hash = '', 
                        metrics = null, 
                        taxonomy_deltas = {
                            'key' : mixpeek.models.alignment_metrics.AlignmentMetrics(
                                ndcg_at_k = {
                                    'key' : 1.337
                                    }, 
                                mean_rank_clicked = 1.337, 
                                mean_rank_purchased = 1.337, 
                                recall_at_k = {
                                    'key' : 1.337
                                    }, 
                                avg_position_delta = 1.337, 
                                items_promoted = 0.0, 
                                items_demoted = 0.0, 
                                sessions_improved = 0.0, 
                                sessions_degraded = 0.0, 
                                sessions_neutral = 0.0, )
                            }, 
                        latency = null, 
                        failed_sessions = 0.0, 
                        error_summary = {
                            'key' : 56
                            }, )
                    ],
                comparison = mixpeek.models.benchmark_comparison.BenchmarkComparison(
                    baseline_retriever_id = '', 
                    comparisons = [
                        mixpeek.models.pipeline_comparison.PipelineComparison(
                            candidate_retriever_id = '', 
                            ndcg_delta = {
                                'key' : 1.337
                                }, 
                            recall_delta = {
                                'key' : 1.337
                                }, 
                            latency_delta_ms = 1.337, 
                            p_value = 1.337, 
                            confidence_interval = [
                                null
                                ], 
                            taxonomy_wins = [
                                ''
                                ], 
                            taxonomy_losses = [
                                ''
                                ], )
                        ], 
                    recommendation = '', ),
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                completed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                error_message = ''
            )
        else:
            return BenchmarkResponse(
                benchmark_id = '',
                benchmark_name = '',
                baseline_retriever_id = '',
                candidate_retriever_ids = [
                    ''
                    ],
                session_count = 56,
                status = 'pending',
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
        )
        """

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

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