# 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.stage_params_feature_search import StageParamsFeatureSearch

class TestStageParamsFeatureSearch(unittest.TestCase):
    """StageParamsFeatureSearch unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> StageParamsFeatureSearch:
        """Test StageParamsFeatureSearch
            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 `StageParamsFeatureSearch`
        """
        model = StageParamsFeatureSearch()
        if include_optional:
            return StageParamsFeatureSearch(
                cache_behavior = 'auto',
                cache_ttl_seconds = 0,
                searches = [
                    mixpeek.models.feature_search_config.FeatureSearchConfig(
                        feature_uri = '0', 
                        query = null, 
                        top_k = 1, 
                        min_score = 0.0, 
                        weight = 0.0, 
                        on_empty = null, 
                        collection_identifiers = [
                            ''
                            ], )
                    ],
                final_top_k = 1,
                fusion = 'rrf',
                learning_config = mixpeek.models.learned_fusion_config.LearnedFusionConfig(
                    algorithm = null, 
                    context_features = [
                        ''
                        ], 
                    demographic_features = [
                        ''
                        ], 
                    fallback_strategy = 'hierarchical', 
                    min_interactions = 1, 
                    reward_signal = 'click', 
                    exploration_bonus = 0.1, 
                    prior_alpha = 0.1, 
                    prior_beta = 0.1, ),
                collection_identifiers = [
                    ''
                    ],
                facets = [
                    mixpeek.models.facet_field_config.FacetFieldConfig(
                        key = '', 
                        limit = 1, 
                        exact = True, )
                    ],
                group_by = mixpeek.models.feature_search_group_by.FeatureSearchGroupBy(
                    field = '', 
                    max_per_group = 1, 
                    limit = 1, 
                    output_mode = 'all', )
            )
        else:
            return StageParamsFeatureSearch(
        )
        """

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

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