import pytest from streamrip.metadata import Covers @pytest.fixture() def covers_all(): c = Covers() c.set_cover("original", "ourl", None) c.set_cover("large", "lurl", None) c.set_cover("small", "surl", None) c.set_cover("thumbnail", "turl", None) return c @pytest.fixture() def covers_none(): return Covers() @pytest.fixture() def covers_one(): c = Covers() c.set_cover("small", "surl", None) return c @pytest.fixture() def covers_some(): c = Covers() c.set_cover("large", "lurl", None) c.set_cover("small", "surl", None) return c def test_covers_all(covers_all): assert covers_all._covers == [ ("original", "ourl", None), ("large", "lurl", None), ("small", "surl", None), ("thumbnail", "turl", None), ] assert covers_all.largest() == ("original", "ourl", None) assert covers_all.get_size("original") == ("original", "ourl", None) assert covers_all.get_size("thumbnail") == ("thumbnail", "turl", None) def test_covers_none(covers_none): assert covers_none.empty() with pytest.raises(Exception): covers_none.largest() with pytest.raises(Exception): covers_none.get_size("original") def test_covers_one(covers_one): assert not covers_one.empty() assert covers_one.largest() == ("small", "surl", None) assert covers_one.get_size("original") == ("small", "surl", None) with pytest.raises(Exception): covers_one.get_size("thumbnail") def test_covers_some(covers_some): assert not covers_some.empty() assert covers_some.largest() == ("large", "lurl", None) assert covers_some.get_size("original") == ("large", "lurl", None) assert covers_some.get_size("small") == ("small", "surl", None) with pytest.raises(Exception): covers_some.get_size("thumbnail")