예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
    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))
예제 #4
0
 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()
예제 #5
0
 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')
예제 #6
0
 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]])