# Path: dopplr/solr/query/query.py
# class Query(BaseQuery):
#     """
#     The most simple Solr query: `q`.
#     """
# 
#     def __init__(self, query):
#         """
#         Initialize the query value.
#         """
#         self.__query = query
# 
#     def get_params(self):
#         """
#         Return the list of query params.
#         """
#         return [('q', self.__query)]
# 
# Path: dopplr/solr/query/query.py
# class FilterQuery(BaseQuery):
#     """
#     A `FilterQuery`.
#     """
# 
#     def __init__(self, query, tag=None):
#         """
#         Set the query value.
#         """
#         self.__query = query
#         self.__tag = tag
# 
#     def get_params(self):
#         """
#         Return the list of query params.
#         """
#         if self.__tag:
#             return [('fq', '{!tag=%s}%s' % (self.__tag, self.__query))]
#         return [('fq', self.__query)]


from pyvows import Vows, expect
from dopplr.solr.query.query import Query
from dopplr.solr.query.query import FilterQuery
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#



@Vows.batch
class SimpleQueries(Vows.Context):

    def topic(self):
        return Query('content:(foo OR bar)').get_params()

    def mustMatch(self, topic):
        expect(topic).to_include(('q', 'content:(foo OR bar)'))

    def mustHaveNoOtherQueries(self, topic):
        expect(topic).to_length(1)


@Vows.batch
class SimpleFilterQueries(Vows.Context):

    class MustBeSimple(Vows.Context):

        def topic(self):

# Path: dopplr/solr/query/query.py
# class Query(BaseQuery):
#     """
#     The most simple Solr query: `q`.
#     """
# 
#     def __init__(self, query):
#         """
#         Initialize the query value.
#         """
#         self.__query = query
# 
#     def get_params(self):
#         """
#         Return the list of query params.
#         """
#         return [('q', self.__query)]
# 
# Path: dopplr/solr/query/query.py
# class FilterQuery(BaseQuery):
#     """
#     A `FilterQuery`.
#     """
# 
#     def __init__(self, query, tag=None):
#         """
#         Set the query value.
#         """
#         self.__query = query
#         self.__tag = tag
# 
#     def get_params(self):
#         """
#         Return the list of query params.
#         """
#         if self.__tag:
#             return [('fq', '{!tag=%s}%s' % (self.__tag, self.__query))]
#         return [('fq', self.__query)]


# Path: vows/solr/query_vows.py
from pyvows import Vows, expect
from dopplr.solr.query.query import Query
from dopplr.solr.query.query import FilterQuery

#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#



@Vows.batch
class SimpleQueries(Vows.Context):

    def topic(self):
        return Query('content:(foo OR bar)').get_params()

    def mustMatch(self, topic):
        expect(topic).to_include(('q', 'content:(foo OR bar)'))

    def mustHaveNoOtherQueries(self, topic):
        expect(topic).to_length(1)


@Vows.batch
class SimpleFilterQueries(Vows.Context):

    class MustBeSimple(Vows.Context):

        def topic(self):

            return FilterQuery('category:Test').get_params()