Пример #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)')