def test_most_similar_available_itag(input_itag, available_itags): chosen = yturl.most_similar_available_itag(input_itag, available_itags) input_itag_idx = itag_quality_pos(input_itag) chosen_itag_idx = itag_quality_pos(chosen) ideal_distance = abs(input_itag_idx - chosen_itag_idx) # No other element should be closer than the one we chose, although one # could be *as* close. assert_true(not any( abs(input_itag_idx - itag_quality_pos(itag)) < ideal_distance for itag in available_itags ))
def test_most_similar_available_itag_none(input_itag, available_itags): assume(not any(x in yturl.ITAGS_BY_QUALITY for x in available_itags)) with assert_raises(yturl.NoLocallyKnownItagsAvailableError): yturl.most_similar_available_itag(input_itag, available_itags)
def test_most_similar_available_itag(): itags_by_similarity = yturl.itags_by_similarity("18") eq_(yturl.most_similar_available_itag(itags_by_similarity, ["46", "38"]), "46")
def test_msai(): itags_by_similarity = yturl.itags_by_similarity(18) eq(yturl.most_similar_available_itag(itags_by_similarity, [46, 38]), 46)