def test_swap_best_by_category(): item_a = Decor(condition=2.0) item_b = Electronics(condition=4.0) item_c = Decor(condition=4.0) tai = Vendor( inventory=[item_a, item_b, item_c] ) item_d = Clothing(condition=2.0) item_e = Decor(condition=4.0) item_f = Clothing(condition=4.0) jesse = Vendor( inventory=[item_d, item_e, item_f] ) result = tai.swap_best_by_category( other=jesse, my_priority="Clothing", their_priority="Decor" ) 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_f in tai.inventory assert item_f not in jesse.inventory assert item_c in jesse.inventory
def test_swap_first_item_returns_true(): item_a = Item(category="clothing") item_b = Item(category="clothing") item_c = Item(category="clothing") fatimah = Vendor( inventory=[item_a, item_b, item_c] ) item_d = Item(category="electronics") item_e = Item(category="decor") jolie = Vendor( inventory=[item_d, item_e] ) result = fatimah.swap_first_item(jolie) assert len(fatimah.inventory) is 3 assert item_a not in fatimah.inventory assert item_b in fatimah.inventory assert item_c in fatimah.inventory assert item_d in fatimah.inventory assert len(jolie.inventory) is 2 assert item_d not in jolie.inventory assert item_e in jolie.inventory assert item_a in jolie.inventory assert result is True
def test_swap_by_newest(): item_a = Decor(age="Vintage") item_b = Electronics(age="New") item_c = Decor(age="New") tai = Vendor( inventory=[item_a, item_b, item_c] ) item_d = Clothing(age="Vintage") item_e = Decor(age="New") item_f = Clothing(age="New") jesse = Vendor( inventory=[item_d, item_e, item_f] ) result = tai.swap_by_newest( other=jesse, my_priority="Clothing", their_priority="Decor" ) assert result is True assert len(tai.inventory) == 3 assert len(jesse.inventory) == 3 assert item_c not in tai.inventory assert item_f in tai.inventory assert item_f not in jesse.inventory assert item_c in jesse.inventory
def test_swap_by_newest_return_true(): item_a = Electronics(condition=3.5, age=7.0) item_b = Item(condition=3.5, age=5.0) item_c = Decor(condition=3.5, age=2.0) jesse = Vendor( inventory=[item_a, item_b, item_c] ) item_d = Item(condition=3.5, age=7.0) item_e = Decor(condition=3.5, age=3.0) item_f = Clothing(condition=3.5, age=9.0) mai = Vendor( inventory=[item_d, item_e, item_f] ) result = jesse.swap_by_newest(mai) assert result is True assert len(mai.inventory) is 3 assert len(jesse.inventory) is 3 assert item_c not in jesse.inventory assert item_a in jesse.inventory assert item_e not in mai.inventory assert item_f in mai.inventory
def test_swap_best_by_category_reordered(): item_a = Decor(condition=2.0) item_b = Electronics(condition=4.0) item_c = Decor(condition=4.0) tai = Vendor(inventory=[item_c, item_b, item_a]) item_d = Clothing(condition=2.0) item_e = Decor(condition=4.0) item_f = Clothing(condition=4.0) jesse = Vendor(inventory=[item_f, item_e, item_d]) result = tai.swap_best_by_category(other=jesse, my_priority="Clothing", their_priority="Decor") assert result assert len(tai.inventory) == 3 assert len(jesse.inventory) == 3 assert item_a in tai.inventory assert item_b in tai.inventory assert item_c not in tai.inventory assert item_f in tai.inventory assert item_d in jesse.inventory assert item_e in jesse.inventory assert item_f not in jesse.inventory assert item_c in jesse.inventory
def test_swap_newest_by_category_no_other_match_is_false(): item_a = Decor() item_b = Electronics() item_c = Decor() tai = Vendor( inventory=[item_c, item_b, item_a] ) item_d = Clothing() item_e = Decor() item_f = Clothing() jesse = Vendor( inventory=[item_f, item_e, item_d] ) result = tai.swap_newest_by_category( other=jesse, my_priority="Electronics", their_priority="Decor" ) assert not result assert len(tai.inventory) == 3 assert len(jesse.inventory) == 3 assert item_a in tai.inventory assert item_b in tai.inventory assert item_c in tai.inventory assert item_d in jesse.inventory assert item_e in jesse.inventory assert item_f in jesse.inventory
def test_swap_newest_by_category(): item_a = Decor(age=41) item_b = Electronics(age=32) item_c = Decor(age=28) tanae = Vendor( inventory=[item_a, item_b, item_c] ) item_d = Clothing(age=48) item_e = Decor(age=17) item_f = Clothing(age=23) jenda = Vendor( inventory=[item_d, item_e, item_f] ) result = tanae.swap_newest_by_category( other=jenda, my_priority="Clothing", their_priority="Decor" ) assert result is True assert len(tanae.inventory) is 3 assert len(jenda.inventory) is 3 assert item_c not in tanae.inventory assert item_f in tanae.inventory assert item_f not in jenda.inventory assert item_c in jenda.inventory
def test_swap_items_returns_true(): # arrange item_a = Item(category="clothing") item_b = Item(category="clothing") item_c = Item(category="clothing") fatimah = Vendor(inventory=[item_a, item_b, item_c]) item_d = Item(category="electronics") item_e = Item(category="decor") jolie = Vendor(inventory=[item_d, item_e]) # fatima.swap_items(jolie, ...,...) # act result = fatimah.swap_items(jolie, item_b, item_d) # assert assert len(fatimah.inventory) is 3 assert item_b not in fatimah.inventory assert item_a in fatimah.inventory assert item_c in fatimah.inventory assert item_d in fatimah.inventory assert len(jolie.inventory) is 2 assert item_d not in jolie.inventory assert item_e in jolie.inventory assert item_b in jolie.inventory assert result is True
def test_swap_newest_by_category(): item_a = Decor(age=2) item_b = Electronics(age=1) item_c = Decor(age=1) tai = Vendor( inventory=[item_a, item_b, item_c] ) item_d = Clothing(age=2) item_e = Decor(age=3) item_f = Clothing(age=1) jesse = Vendor( inventory=[item_d, item_e, item_f] ) result = tai.swap_newest_by_category( other=jesse, my_priority="Clothing", their_priority="Decor" ) assert result assert len(tai.inventory) == 3 assert len(jesse.inventory) == 3 assert item_a in tai.inventory assert item_b in tai.inventory assert item_c not in tai.inventory assert item_f in tai.inventory assert item_d in jesse.inventory assert item_e in jesse.inventory assert item_f not in jesse.inventory assert item_c in jesse.inventory
def test_swap_by_newest_returns_false_with_empty_inventory(): johannes = Vendor() live = Vendor() result = johannes.swap_by_newest(other=live) assert result is False
def test_get_newest_item(): item_a = Item(age=3) item_b = Item(age=1) item_c = Item(age=2) fatimah = Vendor(inventory=[item_a, item_b, item_c]) newest_item = fatimah.get_newest_item() assert newest_item.age == pytest.approx(1.0)
def test_removing_not_found_is_false(): item = "item to remove" vendor = Vendor(inventory=["a", "b", "c"]) result = vendor.remove(item) assert len(vendor.inventory) == 3 assert not result
def test_get_min_age_return_none(): jenny = Vendor( inventory=[] ) result = jenny.get_min_age() assert result == None
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_removing_not_found_is_false(): # arrange item = "item to remove" vendor = Vendor(inventory=["a", "b", "c"]) # act result = vendor.remove(item) # assert assert len(vendor.inventory) is 3 assert result is False
def test_best_by_category_no_matches_is_none(): item_a = Decor(condition=2.0) item_b = Decor(condition=2.0) item_c = Decor(condition=4.0) tai = Vendor(inventory=[item_a, item_b, item_c]) best_item = tai.get_best_by_category("Electronics") assert best_item is None
def test_newest_item_with_duplicates(): item_a = Decor(year=1999) item_b = Electronics(year=1970) item_c = Clothing(year=1999) madison = Vendor(inventory=[item_a, item_b, item_c]) newest_item = madison.get_newest_item() assert newest_item.age == 22 assert newest_item.year == 1999
def test_newest_by_category_no_matches_is_none(): item_a = Decor(age=2.0) item_b = Decor(age=2.0) item_c = Decor(age=4.0) tai = Vendor(inventory=[item_a, item_b, item_c]) newest_item = tai.get_newest_by_category("Electronics") assert newest_item is None
def test_swap_by_newest_with_duplicates(): item_a = Clothing(age=2) item_d = Clothing(age=2) tai = Vendor(inventory=[item_a]) ta = Vendor(inventory=[item_d]) is_swap = tai.swap_by_newest(ta) assert item_a in ta.inventory assert is_swap is not False
def test_get_no_matching_items_by_category(): item_a = Item(category="clothing") item_b = Item(category="clothing") item_c = Item(category="clothing") vendor = Vendor(inventory=[item_a, item_b, item_c]) items = vendor.get_by_category("electronics") assert len(items) is 0
def test_get_min_age(): item_a = Clothing(age = 1) item_b = Clothing(age = 4) item_c = Decor(age = 2) item_d = Decor(age = 3.5) tai = Vendor(inventory = [item_a,item_b,item_c, item_d]) newest_item = tai.get_min_age() assert newest_item.age == 1
def test_removing_from_inventory_returns_item(): item = "item to remove" vendor = Vendor(inventory=["a", "b", "c", item]) result = vendor.remove(item) assert len(vendor.inventory) == 3 assert item not in vendor.inventory assert result == item
def test_adding_to_inventory(): vendor = Vendor() item = "new item" result = vendor.add(item) assert len(vendor.inventory) == 1 assert item in vendor.inventory assert result == item
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_removing_from_inventory_returns_item(): # arrange item = "item to remove" vendor = Vendor(inventory=["a", "b", "c", item]) # act result = vendor.remove(item) # assert assert len(vendor.inventory) is 3 assert item not in vendor.inventory assert result is item
def test_newest_by_category_with_duplicates(): item_a = Clothing(age=2.0) item_b = Clothing(age=2.0) item_c = Clothing(age=4.0) tai = Vendor(inventory=[item_a, item_b, item_c]) newest_item = tai.get_newest_by_category("Clothing") assert newest_item.category == "Clothing" assert newest_item.age == pytest.approx(2.0)
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_adding_to_inventory(): #arrange vendor = Vendor() item = "new item" #act result = vendor.add(item) #assert assert len(vendor.inventory) is 1 assert item in vendor.inventory assert result is item
def test_best_by_category_with_duplicates(): item_a = Clothing(condition=2.0) item_b = Clothing(condition=4.0) item_c = Clothing(condition=4.0) tai = Vendor(inventory=[item_a, item_b, item_c]) best_item = tai.get_best_by_category("Clothing") assert best_item.category == "Clothing" assert best_item.condition == pytest.approx(4.0)
def test_find_newest_item(): item_a = Clothing(condition=4, age=datetime.datetime(2021, 2, 1)) item_b = Decor(condition=4, age=datetime.datetime(2021, 3, 1)) item_c = Clothing(condition=4, age=datetime.datetime(2021, 4, 1)) item_d = Decor(condition=4, age=datetime.datetime(2021, 5, 1)) item_e = Clothing(condition=4, age=datetime.datetime(2021, 6, 1)) tai = Vendor(inventory=[item_a, item_b, item_c, item_d, item_e]) newest_item = tai.find_newest_item() assert newest_item == item_e