def render_ship_figure(self, player):
     Gallery._generate_assembled_ship_image(player.ship, player.color)
     self.ship_figure_images[player.name] = Gallery.get(f"{player.ship}_{player.color}")
     if player.name in self.figures:
         self.board_canvas.delete(self.figures[player.name])
     x, y = player.coordinates
     self.figures[player.name] = self.board_canvas.create_image((x - 0.5) * self.tile_size,
                                                                (y - 0.5) * self.tile_size,
                                                                image=self.ship_figure_images[player.name],
                                                                anchor=CENTER)
 def test__generate_assembled_ship_image(self, tint_image, _get_raw_image, PhotoImage):
     _get_raw_image.return_value = self.mock_image
     tint_image.return_value = self.mock_image
     self.mock_image.paste = Mock()
     self.mock_image.resize.return_value = self.mock_image
     Gallery._generate_assembled_ship_image("schooner", "#FF0000")
     self.assertEqual(1, _get_raw_image.call_count)
     self.assertEqual(2, self.mock_image.resize.call_count)
     tint_image.assert_called_once_with("schooner-v", "#FF0000")
     self.mock_image.paste.assert_called_once_with(self.mock_image, (0, 0), self.mock_image)
     self.assertEqual("photo_data", Gallery._pictures["schooner_#FF0000"])