Exemple #1
0
 def test_dup_terms(self):
     """
     Tests the _handle_phrases method for terms with duplicate words.
     """
     terms = [SearchTerm(term='police'), SearchTerm(term='police officer')]
     query = ReservoirQuery(searchterms=terms)
     specs = PipeSpecSheet(accepts_phrases=False)
     engineer = Engineer(query=query, specs=specs)
     engineer._handle_phrases()
     searchterms = engineer.get_searchterms()
     self.assertEqual(len(searchterms), 3)
Exemple #2
0
 def test_for_accepts_phrases(self):
     """
     Tests the _handle_phrases method for an API that accepts phrases.
     """
     terms = [SearchTerm(term='police officer')]
     query = ReservoirQuery(searchterms=terms)
     specs = PipeSpecSheet(accepts_phrases=True)
     engineer = Engineer(query=query, specs=specs)
     engineer._handle_phrases()
     searchterms = engineer.get_searchterms()
     self.assertEqual(len(searchterms), 1)
     self.assertEqual(searchterms[0].term, 'police officer')
Exemple #3
0
    def test_for_multiple_phrases(self):
        """
        Tests the _handle_phrases method for an API that accepts phrases.
        """
        # 'police', 'police oficeer', 'bank robbery'
        terms = SearchTerm.objects.filter(pk__in=[1, 2, 3])
        query = ReservoirQuery(searchterms=terms)
        specs = PipeSpecSheet(accepts_phrases=False)
        engineer = Engineer(query=query, specs=specs)
        engineer._handle_phrases()
        searchterms = engineer.get_searchterms()

        # 'police', 'officer', policeoficeer', 'bank', 'robbery', bankrobbery'
        self.assertEqual(len(searchterms), 6)