Ejemplo n.º 1
0
    def test_no_default_immediately_start(self):
        songs = ["1", "2", "3"]
        p1 = oracles.PlaylistOracle(songs)
        o = oracles.InterruptOracle(None)

        o.interrupt(p1)
        collected = collect(o)

        self.assertListEqual(collected, songs)
Ejemplo n.º 2
0
 def __init__(self, media_library: Optional[MediaLibrary] = None):
     if not media_library:
         media_library = MediaLibrary()
     self.media_library = media_library
     self.vlc_player = Player()
     self.devices = AudioDevices(
         vlc.libvlc_audio_output_device_enum(self.vlc_player.mp))
     self.switch_oracle = oracles.SwitchOracle()
     self.queueing_oracle = oracles.ChainOracle()
     self.interrupt_oracle = oracles.InterruptOracle(self.switch_oracle)
     self.switch_oracle.set_oracle(self.queueing_oracle)
     self.vlc_player.play_oracle(self.interrupt_oracle)
Ejemplo n.º 3
0
    def test_interrupt_after_finish(self):
        songs1 = ["1", "2", "3"]
        p1 = oracles.PlaylistOracle(songs1)
        songs2 = ["4", "5", "6"]
        p2 = oracles.PlaylistOracle(songs2)
        o = oracles.InterruptOracle(p1)

        collected = collect(o)
        o.interrupt(p2)
        collected.extend(collect(p2))

        self.assertListEqual(collected, songs1 + songs2)
Ejemplo n.º 4
0
    def test_interrupt_before_finish(self):
        songs1 = ["1", "2", "3"]
        p1 = oracles.PlaylistOracle(songs1)
        songs2 = ["4", "5", "6"]
        p2 = oracles.PlaylistOracle(songs2)
        o = oracles.InterruptOracle(p1)

        collected = [o.current_song(), o.next_song()]
        o.interrupt(p2)
        collected.extend(collect(o))

        self.assertListEqual(collected, ["1", "2", "2", "4", "5", "6", "3"])
Ejemplo n.º 5
0
    def test_no_default(self):
        songs = ["1", "2", "3"]
        p1 = oracles.PlaylistOracle(songs)
        o = oracles.InterruptOracle(None)

        collected = [o.current_song()]
        o.interrupt(p1)
        collected.extend(collect(o))

        # Two "None"s, one from the initial "current_song", one from the "current_song" in collect()
        expected = list([None, None])
        expected.extend(songs)
        self.assertListEqual(collected, expected)
Ejemplo n.º 6
0
    def test_default_behavior(self):
        songs = ["1", "2", "3"]
        p1 = oracles.PlaylistOracle(songs)
        o = oracles.InterruptOracle(p1)

        self.assertListEqual(collect(o), songs)