def update(self, actor, entity):
     image = actor.spriteStages["standing"]
     imageUtils = ImageUtils(image)
     entity.image = imageUtils.scale(actor.stateDict["animationProperties"]["width"], actor.stateDict["animationProperties"]["height"]).getImage()
     self.updateRect(entity)
     loggerUtil = LoggerUtil()
     loggerUtil.info("CharacterLocation: (" + str(entity.rect.x) + ", " + str(entity.rect.y) + ")")
 def setUp(self, actor, entity):
     spritesheetFactory = SpritesheetFactory()
     actor.spriteStages = spritesheetFactory.createImages(actor.stateDict)
     imageUtils = ImageUtils(actor.spriteStages["standing"])
     entity.image = imageUtils.scale(actor.stateDict["animationProperties"]["width"], actor.stateDict["animationProperties"]["height"]).getImage()
     actor.spriteStages["standing"] = entity.image
     self.updateRect(entity)
 def draw(self, entity):
     image = entity.spriteStages["standing"]
     imageUtils = ImageUtils(image)
     entity.image = imageUtils.scale(self.props["width"], self.props["height"]).getImage()
     originalX = entity.rect.x
     originalY = entity.rect.y
     entity.rect = entity.image.get_rect()
     entity.rect.x = originalX
     entity.rect.y = originalY
class TestImageUtils(unittest.TestCase):
    def setUp(self):
        self.testImage = pygame.image.load("test/utilities/BasicBall.png")
        self.image = ImageUtils(self.testImage)
                
    def testImageMethodsForManipulatingImages(self):
        self.assertEqual(self.testImage, self.image.getImage(), "Images are not the same")
        self.assertNotEqual(self.image.getImage(), self.image.scale(2,2).getImage(), "Images are the same (scale)")
        self.assertNotEqual(self.image.getImage(), self.image.rotate(20).getImage(), "Images are the same (rotate)")
        self.assertNotEqual(self.image.getImage(), self.image.flipVertical().getImage(), "Images are the same (flipVertical)")
        self.assertNotEqual(self.image.getImage(), self.image.flipHorizontal().getImage(), "Images are the same (flipHorizontal)")
 def setUp(self):
     self.testImage = pygame.image.load("test/utilities/BasicBall.png")
     self.image = ImageUtils(self.testImage)
 def initializeCharacter(self, entity, startX, startY):
     imageUtils = ImageUtils(entity.spriteStages["standing"])
     entity.image = imageUtils.scale(self.props["width"], self.props["height"]).getImage()
     entity.rect = entity.image.get_rect()
     entity.rect.x = startX
     entity.rect.y = startY