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)')
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)')
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)
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
def testDefaultTitle(self): # Decorator should show the default title 'FruitBowl' entity = FruitBowl(None) self.assertEqual(str(Formatter(entity)), '[FruitBowl:Application](md5.png:Actual)')
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)')
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)')
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)
def testCanDisplayNone(self): # Should be able to display None formatter = Formatter(None) self.assertEqual(str(formatter), '[None]()')
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)')