# coding: utf-8

"""
    Lance Namespace Specification

    This OpenAPI specification is a part of the Lance namespace specification. It contains 2 parts:  The `components/schemas`, `components/responses`, `components/examples`, `tags` sections define the request and response shape for each operation in a Lance Namespace across all implementations. See https://lance.org/format/namespace/operations for more details.  The `servers`, `security`, `paths`, `components/parameters` sections are for the  Lance REST Namespace implementation, which defines a complete REST server that can work with Lance datasets. See https://lance.org/format/namespace/rest for more details. 

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

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


import unittest

from lance_namespace_urllib3_client.models.analyze_table_query_plan_request import AnalyzeTableQueryPlanRequest

class TestAnalyzeTableQueryPlanRequest(unittest.TestCase):
    """AnalyzeTableQueryPlanRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> AnalyzeTableQueryPlanRequest:
        """Test AnalyzeTableQueryPlanRequest
            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 `AnalyzeTableQueryPlanRequest`
        """
        model = AnalyzeTableQueryPlanRequest()
        if include_optional:
            return AnalyzeTableQueryPlanRequest(
                id = [
                    ''
                    ],
                bypass_vector_index = True,
                columns = lance_namespace_urllib3_client.models.query_table_request_columns.QueryTableRequest_columns(
                    column_names = [
                        ''
                        ], 
                    column_aliases = {
                        'key' : ''
                        }, ),
                distance_type = '',
                ef = 0,
                fast_search = True,
                filter = '',
                full_text_query = lance_namespace_urllib3_client.models.query_table_request_full_text_query.QueryTableRequest_full_text_query(
                    string_query = lance_namespace_urllib3_client.models.string_fts_query.StringFtsQuery(
                        columns = [
                            ''
                            ], 
                        query = '', ), 
                    structured_query = lance_namespace_urllib3_client.models.structured_fts_query.StructuredFtsQuery(
                        query = lance_namespace_urllib3_client.models.fts_query.FtsQuery(
                            match = lance_namespace_urllib3_client.models.match_query.MatchQuery(
                                boost = 1.337, 
                                column = '', 
                                fuzziness = 0, 
                                max_expansions = 0, 
                                operator = '', 
                                prefix_length = 0, 
                                terms = '', ), 
                            phrase = lance_namespace_urllib3_client.models.phrase_query.PhraseQuery(
                                column = '', 
                                slop = 0, 
                                terms = '', ), 
                            boost = lance_namespace_urllib3_client.models.boost_query.BoostQuery(
                                positive = lance_namespace_urllib3_client.models.fts_query.FtsQuery(
                                    multi_match = lance_namespace_urllib3_client.models.multi_match_query.MultiMatchQuery(
                                        match_queries = [
                                            lance_namespace_urllib3_client.models.match_query.MatchQuery(
                                                column = '', 
                                                fuzziness = 0, 
                                                max_expansions = 0, 
                                                operator = '', 
                                                prefix_length = 0, 
                                                terms = '', )
                                            ], ), 
                                    boolean = lance_namespace_urllib3_client.models.boolean_query.BooleanQuery(
                                        must = [
                                            
                                            ], 
                                        must_not = [
                                            
                                            ], 
                                        should = [
                                            
                                            ], ), ), 
                                negative = , 
                                negative_boost = 1.337, ), 
                            multi_match = lance_namespace_urllib3_client.models.multi_match_query.MultiMatchQuery(
                                match_queries = [
                                    
                                    ], ), 
                            boolean = lance_namespace_urllib3_client.models.boolean_query.BooleanQuery(
                                must = [
                                    
                                    ], 
                                must_not = [
                                    
                                    ], 
                                should = [
                                    
                                    ], ), ), ), ),
                k = 0,
                lower_bound = 1.337,
                nprobes = 0,
                offset = 0,
                prefilter = True,
                refine_factor = 0,
                upper_bound = 1.337,
                vector = lance_namespace_urllib3_client.models.query_table_request_vector.QueryTableRequest_vector(
                    single_vector = [
                        1.337
                        ], 
                    multi_vector = [
                        [
                            1.337
                            ]
                        ], ),
                vector_column = '',
                version = 0,
                with_row_id = True
            )
        else:
            return AnalyzeTableQueryPlanRequest(
                k = 0,
                vector = lance_namespace_urllib3_client.models.query_table_request_vector.QueryTableRequest_vector(
                    single_vector = [
                        1.337
                        ], 
                    multi_vector = [
                        [
                            1.337
                            ]
                        ], ),
        )
        """

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

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