def test_get_newest_returns_newest_item(): item_a = Decor(age=2) item_b = Electronics(age=7) item_c = Clothing(age=0.5) johannes = Vendor(inventory=[item_a, item_b, item_c]) result = johannes.get_newest() assert result is item_c
def test_get_newest_with_duplicates(): item_a = Clothing(age=10) item_b = Clothing(age=6) item_c = Clothing(age=6) tai = Vendor(inventory=[item_a, item_b, item_c]) newest_item = tai.get_newest() assert newest_item.age == 6 assert newest_item == item_b
def test_get_newest(): item_a = Clothing(age=0) item_b = Decor(age=5) item_c = Clothing(age=6) item_d = Decor(age=2) sal = Vendor(inventory=[item_a, item_b, item_c, item_d]) newest_item = sal.get_newest() assert newest_item.category == "Clothing" assert newest_item.age == 0
def test_get_newest(): item_a = Clothing(age=2) item_b = Decor(age=14) item_c = Clothing(age=20) item_d = Decor(age=5) item_e = Clothing(age=85) tai = Vendor(inventory=[item_a, item_b, item_c, item_d, item_e]) best_item = tai.get_newest() assert best_item.age == 2
def test_get_newest_returns_youngest(): item_a = Clothing(age=6) item_b = Decor(age=2) item_c = Clothing(age=1) item_d = Decor(age=10) item_e = Clothing(age=3) tai = Vendor(inventory=[item_a, item_b, item_c, item_d, item_e]) newest_item = tai.get_newest() assert newest_item == item_c assert newest_item.age == 1
def test_get_newest(): item_a = Clothing(age=2) item_b = Decor(age=3) item_c = Clothing(age=4) item_d = Decor(age=5) item_e = Clothing(age=3) tai = Vendor(inventory=[item_a, item_b, item_c, item_d, item_e]) newest_item = tai.get_newest() assert newest_item.category == "Clothing" assert newest_item.age == pytest.approx(2)
def test_swap_by_newest(): item_a = Decor(age=25) item_b = Electronics(age=10) item_c = Decor(age=4) tai = Vendor(inventory=[item_a, item_b, item_c]) item_d = Clothing(age=17) item_e = Decor(age=5) item_f = Clothing(age=20) jesse = Vendor(inventory=[item_d, item_e, item_f]) tai_newest = tai.get_newest() jesse_newest = jesse.get_newest() result = tai.swap_by_newest(jesse) assert result is True assert len(tai.inventory) is 3 assert len(jesse.inventory) is 3 assert item_c not in tai.inventory assert item_e in tai.inventory assert item_e not in jesse.inventory assert item_c in jesse.inventory
def test_get_newest_returns_none_with_empty_inventory(): johannes = Vendor() result = johannes.get_newest() assert result is None