コード例 #1
0
 def testFormatterCanDisplayStringEntity(self):
     
     # Should display the string that we supplied as the constructor
     formatter = Formatter("Test")
     self.assertEqual(str(formatter), '["Test"]()')
     
     # NewLabel should override the entity string name
     formatter.setLabel("NewLabel")
     self.assertEqual(str(formatter), '["NewLabel"]()')
コード例 #2
0
    def testFormatterCanDisplayStringEntity(self):

        # Should display the string that we supplied as the constructor
        formatter = Formatter("Test")
        self.assertEqual(str(formatter), '["Test"]()')

        # NewLabel should override the entity string name
        formatter.setLabel("NewLabel")
        self.assertEqual(str(formatter), '["NewLabel"]()')
コード例 #3
0
 def testCanSetTitleOfEntity(self):
     
     entity = FruitBowl(None)   
     
     # Test Default title 'FruitBowl:Application'
     formatter = Formatter(entity)        
     self.assertEqual(str(formatter), '[FruitBowl:Application](md5.png:Actual)')
     
     # Decorator should modify the title to 'CustomTitle'
     formatter.setLabel("CustomTitle")             
     self.assertEqual(str(formatter), '["CustomTitle"](md5.png:Actual)')
コード例 #4
0
    def testCanSetTitleOfEntity(self):

        entity = FruitBowl(None)

        # Test Default title 'FruitBowl:Application'
        formatter = Formatter(entity)
        self.assertEqual(str(formatter),
                         '[FruitBowl:Application](md5.png:Actual)')

        # Decorator should modify the title to 'CustomTitle'
        formatter.setLabel("CustomTitle")
        self.assertEqual(str(formatter), '["CustomTitle"](md5.png:Actual)')
コード例 #5
0
    def testCanDisplayScreen(self):

        # Should have simplified Screen coords and a md5 of active region
        screen = Screen(0)
        formatter = Formatter(screen)
        self.assertEqual(str(formatter),
                         '["Screen(0)[0,0 1680x1050]"](md5.png:Actual)')
コード例 #6
0
 def testCanDisplayRegionFinder(self):
     
     entity = FruitBowl(None)
     rf = entity.getRegionFinder()
     rf.addBaseline("fruitbowl[0]-0", 0)
     rf.addBaseline("fruitbowl[0]-1", 0)
     rf.addBaseline("fruitbowl[1]-0", 1)
     rf.addBaseline("fruitbowl[1]-1", 1)
     rf.addBaseline("fruitbowl[1]-2", 1)
     
     # NewLabel should override the entity string name
     formatter = Formatter(entity)
     self.assertEqual(str(formatter), '[FruitBowl:Application](md5.png:Actual)')
     
     # NewLabel should override the entity string name
     formatter.setLabel("MyImageRegion")
     self.assertEqual(str(formatter), '["MyImageRegion"](md5.png:Actual)')
コード例 #7
0
    def testCanDisplayRegionFinder(self):

        entity = FruitBowl(None)
        rf = entity.getRegionFinder()
        rf.addBaseline("fruitbowl[0]-0", 0)
        rf.addBaseline("fruitbowl[0]-1", 0)
        rf.addBaseline("fruitbowl[1]-0", 1)
        rf.addBaseline("fruitbowl[1]-1", 1)
        rf.addBaseline("fruitbowl[1]-2", 1)

        # NewLabel should override the entity string name
        formatter = Formatter(entity)
        self.assertEqual(str(formatter),
                         '[FruitBowl:Application](md5.png:Actual)')

        # NewLabel should override the entity string name
        formatter.setLabel("MyImageRegion")
        self.assertEqual(str(formatter), '["MyImageRegion"](md5.png:Actual)')
コード例 #8
0
    def testCanDisplayBaseline(self):
                
        entity = FruitBowl(None)     
        
        rf = entity.getRegionFinder()
        rf.addBaseline("fruitbowl[0]-0", 0)
        rf.addBaseline("fruitbowl[0]-1", 0)
        rf.addBaseline("fruitbowl[1]-0", 1)
        rf.addBaseline("fruitbowl[1]-1", 1)
        rf.addBaseline("fruitbowl[1]-2", 1)
        
        # Should show the baselines for series 0
        formatter = Formatter(entity).showBaseline(True, series=0, state=None)        
        self.assertEqual(str(formatter), '[FruitBowl:Application](md5.png:series_0,md5.png:series_0)') 

        # Should display the baseline images for series 1
        formatter.showBaseline(True, series=1, state=None)
        self.assertEqual(str(formatter), '[FruitBowl:Application](md5.png:series_1,md5.png:series_1,md5.png:series_1)')        

        # Should no longer show the baselines
        formatter.showBaseline(False)
        self.assertEqual(str(formatter), '[FruitBowl:Application]()')
        
        entity.validate()
        
        # Should display the baseline images for series 0
        formatter = Formatter(entity).showBaseline(True, series=0, state=None)
        self.assertEqual(str(formatter), '[FruitBowl:Application](md5.png:Actual,md5.png:series_0,md5.png:series_0)')        

        # Should display the baseline images for series 1
        formatter.showBaseline(True, series=1, state=None)
        self.assertEqual(str(formatter), '[FruitBowl:Application](md5.png:Actual,md5.png:series_1,md5.png:series_1,md5.png:series_1)')        

        # Should no longer show the baselines
        formatter.showBaseline(False)
        self.assertEqual(str(formatter), '[FruitBowl:Application](md5.png:Actual)')
コード例 #9
0
    def setUp(self):

        # Setup mock objects
        
        Tool.setAssetName("md5.png")
        Formatter.setTool(Tool)
        Formatter.setConfig(Config)
        Formatter.setDefaultLevel(INFO)        

        Entity.setRegionFinderStrategy(Finder)
        Entity.setLogger(Logger)
        
        Finder.setTest(self)
コード例 #10
0
    def setUp(self):

        # Setup mock objects

        Tool.setAssetName("md5.png")
        Formatter.setTool(Tool)
        Formatter.setConfig(Config)
        Formatter.setDefaultLevel(INFO)

        Entity.setRegionFinderStrategy(Finder)
        Entity.setLogger(Logger)

        Finder.setTest(self)
コード例 #11
0
Entity.setConfig(Config)

ClickableEntity.setDefaultClickStrategy(StandardClick())
ClickStrategy.setLogger(EntityLoggerProxy)
ClickStrategy.setScreen(Config.screen)

Transform.setLogger(EntityLoggerProxy)
RegionScreen.setConfig(Config)

Finder.setLogger(EntityLoggerProxy)
Finder.setConfig(Config)
Finder.setTransform(Transform)

MultiResultProxy.setEntitySearcher(Searcher)

Formatter.setTool(Tool)
Formatter.setConfig(Config)

EntityTransform.setConfig(Config)

Canvas.setDefaultDrawingStrategy(SegmentDrawingStrategy)

Launcher.setLogger(EntityLoggerProxy)


## Boot

logger = EntityLoggerProxy()
logger.info("[SikuliFramework] Booting.. SikuliVersion=%s" % Env.getSikuliVersion())

# Works on all platforms
コード例 #12
0
    def testDefaultTitle(self):

        # Decorator should show the default title 'FruitBowl'
        entity = FruitBowl(None)
        self.assertEqual(str(Formatter(entity)),
                         '[FruitBowl:Application](md5.png:Actual)')
コード例 #13
0
    def testCanDisplayPattern(self):

        # Should have and a md5 of the path the pattern refers to
        formatter = Formatter(Pattern("C:/image.png"))
        self.assertEqual(str(formatter),
                         '["Pattern("C:/image.png").similar(0.7)"](md5.png)')
コード例 #14
0
    def testCanDisplayRegion(self):

        # Should have simplified Region coords and a md5 of active region
        formatter = Formatter(Region(0, 0, 100, 100))
        self.assertEqual(str(formatter),
                         '["Region[0,0 100x100]"](md5.png:Actual)')
コード例 #15
0
from log.robotFramework import Logger as RobotLogger
from log import *
from entity import Entity
from region.tests.mockFinder import Finder
from log.formatter import Formatter
from config import Config
from entity.searcher import Searcher
from tests.mockTool import Tool
import unittest
from entity.multiResultProxy import MultiResultProxy

Logger.setRobotLogger(RobotLogger())
Logger.setFormatter(Formatter)

Formatter.setTool(Tool)
Formatter.setConfig(Config)

Entity.setLogger(Logger)
Entity.setRegionFinderStrategy(Finder)
Entity.setSearcherStrategy(Searcher)
Entity.setMultiResultProxyStrategy(MultiResultProxy)

MultiResultProxy.setEntitySearcher(Searcher)
コード例 #16
0
    def testCanDisplayNone(self):

        # Should be able to display None
        formatter = Formatter(None)
        self.assertEqual(str(formatter), '[None]()')
コード例 #17
0
    def testCanDisplayBaseline(self):

        entity = FruitBowl(None)

        rf = entity.getRegionFinder()
        rf.addBaseline("fruitbowl[0]-0", 0)
        rf.addBaseline("fruitbowl[0]-1", 0)
        rf.addBaseline("fruitbowl[1]-0", 1)
        rf.addBaseline("fruitbowl[1]-1", 1)
        rf.addBaseline("fruitbowl[1]-2", 1)

        # Should show the baselines for series 0
        formatter = Formatter(entity).showBaseline(True, series=0, state=None)
        self.assertEqual(
            str(formatter),
            '[FruitBowl:Application](md5.png:series_0,md5.png:series_0)')

        # Should display the baseline images for series 1
        formatter.showBaseline(True, series=1, state=None)
        self.assertEqual(
            str(formatter),
            '[FruitBowl:Application](md5.png:series_1,md5.png:series_1,md5.png:series_1)'
        )

        # Should no longer show the baselines
        formatter.showBaseline(False)
        self.assertEqual(str(formatter), '[FruitBowl:Application]()')

        entity.validate()

        # Should display the baseline images for series 0
        formatter = Formatter(entity).showBaseline(True, series=0, state=None)
        self.assertEqual(
            str(formatter),
            '[FruitBowl:Application](md5.png:Actual,md5.png:series_0,md5.png:series_0)'
        )

        # Should display the baseline images for series 1
        formatter.showBaseline(True, series=1, state=None)
        self.assertEqual(
            str(formatter),
            '[FruitBowl:Application](md5.png:Actual,md5.png:series_1,md5.png:series_1,md5.png:series_1)'
        )

        # Should no longer show the baselines
        formatter.showBaseline(False)
        self.assertEqual(str(formatter),
                         '[FruitBowl:Application](md5.png:Actual)')