# 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://lancedb.github.io/lance-namespace/spec/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://lancedb.github.io/lance-namespace/spec/impls/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.boolean_query import BooleanQuery

class TestBooleanQuery(unittest.TestCase):
    """BooleanQuery unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> BooleanQuery:
        """Test BooleanQuery
            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 `BooleanQuery`
        """
        model = BooleanQuery()
        if include_optional:
            return BooleanQuery(
                must = [
                    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 = 'And', 
                            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, 
                                            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 = [
                                
                                ], ), )
                    ],
                must_not = [
                    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 = 'And', 
                            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, 
                                            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 = [
                                
                                ], ), )
                    ],
                should = [
                    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 = 'And', 
                            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, 
                                            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 = , ), )
                    ]
            )
        else:
            return BooleanQuery(
                must = [
                    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 = 'And', 
                            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, 
                                            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 = [
                                
                                ], ), )
                    ],
                must_not = [
                    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 = 'And', 
                            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, 
                                            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 = [
                                
                                ], ), )
                    ],
                should = [
                    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 = 'And', 
                            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, 
                                            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 = , ), )
                    ],
        )
        """

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

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