def test_next(self): recommend.MIN_CANDIDATES = 0 self.assertEquals(recommend.next(1, 2), 3) # add node to the graph, return random node self.assertEquals(recommend.next(20), 11) self.assertTrue(recommend._graph.has_node(20))
def fill_playlist(self, id_to_draw_next = None): try: curr_pos = self.xsync.playlist_current_pos()["position"] if curr_pos == -1: return except xmmsclient.XMMSError: return playlist_entries = self.xsync.playlist_list_entries() if id_to_draw_next is None: id_to_draw_next = playlist_entries[curr_pos] if curr_pos == len(playlist_entries)-1: next = recommend.next(id_to_draw_next, default = self.choose_random_media()) logging.info("next(%s) -> %s", id_to_draw_next, next) self.do_insertion(curr_pos+1, next)
def test_return_default(self): recommend.MIN_CANDIDATES = float("inf") default = object() self.assertIs(recommend.next(10, 3, default), default)
def test_min_candidates(self): recommend.MIN_CANDIDATES = float("inf") self.assertEquals(recommend.next(10, 3), None) recommend.MIN_CANDIDATES = 0 self.assertEquals(recommend.next(10, 3), 11)