def test_best_by_edge_with_duplicates(): item_a = Clothing(edge=2.0) item_b = Clothing(edge=2.0) item_c = Clothing(edge=4.0) mary = Vendor(inventory=[item_a, item_b, item_c]) newest_item = mary.get_best_by_edge("Clothing") assert newest_item.category == "Clothing" assert newest_item.edge == pytest.approx(2.0)
def test_best_by_edge_no_matches_is_none(): item_a = Electronics(edge=1.0) item_b = Decor(edge=2.0) item_c = Electronics(edge=4.0) item_d = Decor(edge=5.0) item_e = Electronics(edge=3.0) mary = Vendor(inventory=[item_a, item_b, item_c, item_d, item_e]) newest_item = mary.get_best_by_edge("Clothing") assert newest_item is None
def test_best_by_edge(): item_a = Electronics(edge=1.0) item_b = Decor(edge=2.0) item_c = Electronics(edge=4.0) item_d = Decor(edge=5.0) item_e = Electronics(edge=3.0) mary = Vendor(inventory=[item_a, item_b, item_c, item_d, item_e]) newest_item = mary.get_best_by_edge("Electronics") assert newest_item.category == "Electronics" assert newest_item.edge == pytest.approx(1.0)