def setUp(self): """ Initalize render pipeline test setup. """ self.blank = blank.BlankTile() self.route = route.RouteTile32x32() self.weather_large = weather.WeatherTile64x32({}) self.tiles = [self.route, self.weather_large] self.manager = tile_manager.TileManager(self.tiles, 32, 2)
def setUp(self): """ Initalize BaseTile test setup.""" self.data = { 'id': 208, 'main': 'sunny', 'description': 'sunny and clear.', 'icon': '01d', 'temp': 72, 'temp_min': 68, 'temp_max': 78, 'humidity': 23 } self.tile = weather.WeatherTile32x32(self.data) self.tile_large = weather.WeatherTile64x32(self.data)
def setUp(self): """ Initalize RouteTile32x32 test setup. Statically create a stop time so we know the expected size of text. """ self.data = { 'id': 208, 'main': 'other', 'description': 'sunny and clear.', 'icon': '01d', 'temp': 72, 'temp_min': 68, 'temp_max': 78, 'humidity': 23 } self.tile = weather.WeatherTile32x32(self.data, scrolling=(0, -2)) self.tile_large = weather.WeatherTile64x32(self.data, scrolling=(0, -2))
def testFullLoop(self): weather_large = weather.WeatherTile64x32( { 'id': 208, 'main': 'other', 'description': 'sunny and clear.', 'icon': '01d', 'temp': 72, 'temp_min': 68, 'temp_max': 78, 'humidity': 23 }, scrolling=(0, -2)) stops = [ datetime.datetime(2017, 1, 1, 9, 0, tzinfo=pytz.timezone('America/Los_Angeles')), datetime.datetime(2017, 10, 11, 10, 0, tzinfo=pytz.timezone('America/Los_Angeles')), datetime.datetime(2017, 11, 11, 11, 0, tzinfo=pytz.timezone('America/Los_Angeles')), datetime.datetime(2017, 12, 12, 12, 0, tzinfo=pytz.timezone('America/Los_Angeles')) ] tile = route.RouteTile32x32(stops=stops) manager = tile_manager.TileManager([weather_large, tile], 32, 2) manager.Run()
def testToMatrixMultiLine(self): """ Ensure a multi line render works properly. """ tiles = [ self.route, weather.WeatherTile64x32({ 'id': 208, 'main': 'sunny', 'description': 'sunny and clear.', 'icon': '01d', 'temp': 72, 'temp_min': 68, 'temp_max': 78, 'humidity': 23 }) ] manager = tile_manager.TileManager(tiles, 64, 4, tile_size=32) manager._RenderAddNewTiles() manager._RenderToMatrix() self.AssertSameImage(manager.matrix.offscreen_buffer, 'testdata/to_matrix_multiline.png')
def testAddNewTilesMultiLine(self): """ Ensure tile placing works across multiple rows. """ tiles = [weather.WeatherTile64x32({}), weather.WeatherTile64x32({})] manager = tile_manager.TileManager(tiles, 64, 4, tile_size=32) manager._RenderAddNewTiles() self.assertEqual(manager.render_pipeline, [[0, 0], [1, 1]])