コード例 #1
0
    def testMultiSearchSubEntitySpecific(self):
        
        class BlueMarble(Entity):
            BLUE_SPECK = ['blueSpeck', Button]

        class RedMarble(Entity):
            RED_SPECK = ['redSpeck', Button]

        
        es = Searcher()
        es.add(MultiResultProxy(None, [BlueMarble, RedMarble], None))
        
        result = es.search("red speck")
        self.assertEqual(result.getEntity(), RedMarble.RED_SPECK)   

        result = es.search("blue speck")
        self.assertEqual(result.getEntity(), BlueMarble.BLUE_SPECK)       
コード例 #2
0
 def testSingleEntityAndSubEntitySpecific(self):
     
     class BlueMarble(Entity):
         BLUE_SPECK = ['blueSpeck', Button]
     
     es = Searcher()
     es.add(MultiResultProxy(None, [BlueMarble], None))
     
     result = es.search("blue marble")
     self.assertEqual(result.getEntity(), [BlueMarble])        
コード例 #3
0
    def testSearchWithClass(self):
        
        class BlueMarble(Entity):
            BLUE_SPECK = ['blueSpeck', Button]

        es = Searcher()
        es.add(BlueMarble)
        result = es.search(BlueMarble)
        
        # Should return the entity with the least number of words
        self.assertEqual(result.getEntity(), [BlueMarble,])
コード例 #4
0
    def testReturnsEntityWithLeastNumberOfWords(self):
        
        class RedAndBlueMarble(Entity):
            BIG_RED_SPECK = ['bigRedSpeck', Button]
            BLUE_SPECK = ['blueSpeck', Button]

        es = Searcher()
        es.add(RedAndBlueMarble)
        result = es.search("speck")
        
        # Should return the entity with the least number of words
        self.assertEqual(result.getEntity(), RedAndBlueMarble.BLUE_SPECK)
コード例 #5
0
    def testSearchWithMemberVariable(self):
        
        class BlueMarble(Entity):
            BLUE_SPECK = ['blueSpeck', Button]

        class RedMarble(Entity):
            RED_SPECK = ['redSpeck', Button]

        es = Searcher()
        es.add(BlueMarble)
        es.add(RedMarble)
        result = es.search(BlueMarble.BLUE_SPECK)
        
        # Should return the entity with the least number of words
        self.assertEqual(result.getEntity(), BlueMarble.BLUE_SPECK)
コード例 #6
0
    def testCanSearchMultiProxyResultWithCustomParent(self):
        
        class BlueMarble(Entity):
            BLUE_SPECK = ['blueSpeck', Button]

        class RedMarble(Entity):
            RED_SPECK = ['redSpeck', Button]

        customParent = RedMarble(None)
                
        es = Searcher()
        es.add(MultiResultProxy(None, [(BlueMarble, customParent),], None))
        
        result = es.search("blue speck")
        self.assertEqual(result.getEntity(), BlueMarble.BLUE_SPECK)
        self.assertEqual(result.getParent(), customParent)