def test_play_media_wait_state_not_playing(self, mocked_get_vlc, mocked_threading): """ Test the play() method when media_wait_state() returns False """ # GIVEN: A bunch of mocked out things mocked_thread = MagicMock() mocked_threading.Thread.return_value = mocked_thread mocked_vlc = MagicMock() mocked_get_vlc.return_value = mocked_vlc mocked_controller = MagicMock() mocked_controller.media_info.start_time = 0 mocked_display = MagicMock() mocked_display.controller = mocked_controller vlc_player = VlcPlayer(None) vlc_player.set_state(MediaState.Paused, mocked_display) # WHEN: play() is called with patch.object(vlc_player, 'media_state_wait') as mocked_media_state_wait, \ patch.object(vlc_player, 'volume') as mocked_volume: mocked_media_state_wait.return_value = False result = vlc_player.play(mocked_display) # THEN: A thread should be started, but the method should return False mocked_thread.start.assert_called_with() self.assertFalse(result)
def test_play(self, mocked_get_vlc, mocked_threading): """ Test the play() method """ # GIVEN: A bunch of mocked out things mocked_thread = MagicMock() mocked_threading.Thread.return_value = mocked_thread mocked_vlc = MagicMock() mocked_get_vlc.return_value = mocked_vlc mocked_controller = MagicMock() mocked_controller.media_info.start_time = 0 mocked_controller.media_info.media_type = MediaType.Video mocked_controller.media_info.volume = 100 mocked_media = MagicMock() mocked_media.get_duration.return_value = 50000 mocked_display = MagicMock() mocked_display.controller = mocked_controller mocked_display.vlc_media_player.get_media.return_value = mocked_media vlc_player = VlcPlayer(None) vlc_player.set_state(MediaState.Paused, mocked_display) # WHEN: play() is called with patch.object(vlc_player, 'media_state_wait') as mocked_media_state_wait, \ patch.object(vlc_player, 'volume') as mocked_volume: mocked_media_state_wait.return_value = True result = vlc_player.play(mocked_display) # THEN: A bunch of things should happen to play the media mocked_thread.start.assert_called_with() mocked_volume.assert_called_with(mocked_display, 100) self.assertEqual(MediaState.Playing, vlc_player.get_live_state()) mocked_display.vlc_widget.raise_.assert_called_with() self.assertTrue(result, 'The value returned from play() should be True')
def test_play_dvd(mocked_get_vlc, mocked_threading): """ Test the play() method with a DVD """ # GIVEN: A bunch of mocked out things mocked_thread = MagicMock() mocked_threading.Thread.return_value = mocked_thread mocked_vlc = MagicMock() mocked_get_vlc.return_value = mocked_vlc mocked_controller = MagicMock() mocked_output_display = MagicMock() mocked_controller.media_info = ItemMediaInfo() mocked_controller.media_info.start_time = 0 mocked_controller.media_info.end_time = 50 mocked_controller.media_info.media_type = MediaType.DVD mocked_controller.media_info.volume = 100 mocked_controller.media_info.title_track = 1 mocked_controller.media_info.audio_track = 1 mocked_controller.media_info.subtitle_track = 1 vlc_player = VlcPlayer(None) vlc_player.set_state(MediaState.Paused, mocked_output_display) # WHEN: play() is called with patch.object(vlc_player, 'media_state_wait', return_value=True), \ patch.object(vlc_player, 'volume') as mocked_volume, \ patch.object(vlc_player, 'get_live_state', return_value=MediaState.Loaded): result = vlc_player.play(mocked_controller, mocked_output_display) # THEN: A bunch of things should happen to play the media mocked_thread.start.assert_called_with() mocked_controller.vlc_media_player.set_title.assert_called_with(1) mocked_controller.vlc_media_player.play.assert_called_with() mocked_controller.vlc_media_player.audio_set_track.assert_called_with(1) mocked_controller.vlc_media_player.video_set_spu.assert_called_with(1) mocked_volume.assert_called_with(mocked_controller, 100) assert MediaState.Playing == vlc_player.get_live_state() mocked_controller.vlc_widget.raise_.assert_called_with() assert result is True, 'The value returned from play() should be True'