# 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.explain_table_query_plan_request import ExplainTableQueryPlanRequest

class TestExplainTableQueryPlanRequest(unittest.TestCase):
    """ExplainTableQueryPlanRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> ExplainTableQueryPlanRequest:
        """Test ExplainTableQueryPlanRequest
            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 `ExplainTableQueryPlanRequest`
        """
        model = ExplainTableQueryPlanRequest()
        if include_optional:
            return ExplainTableQueryPlanRequest(
                id = [
                    ''
                    ],
                query = lance_namespace_urllib3_client.models.query_table_request.QueryTableRequest(
                    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(
                            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, ),
                verbose = True
            )
        else:
            return ExplainTableQueryPlanRequest(
                query = lance_namespace_urllib3_client.models.query_table_request.QueryTableRequest(
                    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(
                            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, ),
        )
        """

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

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