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"]()')
Example #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"]()')
 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)')
Example #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)')
Example #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)')
 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)')
Example #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)')
    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)')
    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)
Example #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)
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
Example #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)')
Example #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)')
Example #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)')
Example #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)
Example #16
0
    def testCanDisplayNone(self):

        # Should be able to display None
        formatter = Formatter(None)
        self.assertEqual(str(formatter), '[None]()')
Example #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)')