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_returns_false_with_empty_inventory(): johannes = Vendor() live = Vendor() result = johannes.swap_by_newest(other=live) assert result is False
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_swap_by_newest_returns_false(): tai = Vendor(inventory=[]) item_d = Clothing(age=2) item_e = Decor() item_f = Clothing(age=5) jesse = Vendor(inventory=[item_d, item_e, item_f]) result = tai.swap_by_newest(jesse) assert result is False
def test_swap_by_newest(): item_a = Item(age=2) item_b = Item(age=4) tai = Vendor(inventory=[item_a, item_b]) item_d = Item(age=2) item_e = Item(age=4) jesse = Vendor(inventory=[item_d, item_e]) result = tai.swap_by_newest(jesse) assert result is True
def test_swap_by_newest_from_my_empty_returns_false(): fatimah = Vendor(inventory=[]) item_d = Item(age=1) item_e = Item(age=5) jolie = Vendor(inventory=[item_d, item_e]) result = fatimah.swap_by_newest(jolie) assert len(fatimah.inventory) is 0 assert len(jolie.inventory) is 2 assert result is False
def test_swap_by_newest_no_matches_is_none(): item_a = Decor(age=2.0) item_b = Decor(age=1.0) item_c = Decor(age=4.0) item_d = Decor(age=8.0) tai = Vendor(inventory=[item_a, item_b, item_c]) ta = Vendor(inventory=[item_d]) is_swap = tai.swap_by_newest(ta) assert is_swap is not False assert item_d in tai.inventory assert item_b in ta.inventory assert item_a not in ta.inventory
def test_swap_by_newest_from_their_empty_returns_false(): item_a = Item(age=3) item_b = Item(age=1) item_c = Item(age=2) fatimah = Vendor(inventory=[item_a, item_b, item_c]) jolie = Vendor(inventory=[]) nobodys_item = Item(age=3) result = fatimah.swap_by_newest(jolie, item_b, nobodys_item) assert len(fatimah.inventory) is 3 assert len(jolie.inventory) is 0 assert result is False
def test_swap_by_newest_from_my_empty_returns_false(): fatimah = Vendor(inventory=[]) item_d = Item(age=4) item_e = Item(age=5) item_f = Item(age=2) jolie = Vendor(inventory=[item_d, item_e, item_f]) nobodys_item = Item(age=3) result = fatimah.swap_by_newest(jolie, nobodys_item, item_f) assert len(fatimah.inventory) is 0 assert len(jolie.inventory) is 3 assert result is False
def test_swap_by_edge_no_match_is_false(): tai = Vendor(inventory=[]) item_a = Clothing(edge=2.0) item_b = Decor(edge=3.0) item_c = Clothing(edge=3.0) jesse = Vendor(inventory=[item_a, item_b, item_c]) result = tai.swap_by_newest(other=jesse, my_priority="Clothing", their_priority="Decor") assert result is False assert len(tai.inventory) is 0 assert len(jesse.inventory) is 3 assert item_a in jesse.inventory assert item_b in jesse.inventory assert item_c in jesse.inventory
def test_swap_by_newest_no_other_match(): item_a = Clothing(age=5.0) item_b = Decor(age=2.0) item_c = Clothing(age=1.0) tai = Vendor(inventory=[item_a, item_b, item_c]) jesse = Vendor(inventory=[]) result = tai.swap_by_newest(other=jesse, my_priority="Decor", their_priority="Clothing") assert result is False assert len(tai.inventory) == 3 assert len(jesse.inventory) == 0 assert item_a in tai.inventory assert item_b in tai.inventory assert item_c in tai.inventory
def test_swap_best_by_category_no_other_match(): item_a = Clothing(condition=2.0, age=8.0) item_b = Decor(condition=4.0, age=3.0) item_c = Clothing(condition=4.0, age=3.0) tai = Vendor(inventory=[item_a, item_b, item_c]) jesse = Vendor(inventory=[]) result = tai.swap_by_newest(other=jesse, my_priority="Decor", their_priority="Clothing") assert result is False assert len(tai.inventory) is 3 assert len(jesse.inventory) is 0 assert item_a in tai.inventory assert item_b in tai.inventory assert item_c in tai.inventory
def test_swap_by_newest(): item_a = Decor(age=2) item_b = Electronics(age=4) item_c = Decor(age=4) tai = Vendor(inventory=[item_a, item_b, item_c]) item_d = Clothing(age=2) item_e = Decor(age=4) item_f = Clothing(age=4) jesse = Vendor(inventory=[item_d, item_e, item_f]) result = tai.swap_by_newest(other=jesse, ) assert result is True assert len(tai.inventory) is 3 assert len(jesse.inventory) is 3 assert item_a not in tai.inventory assert item_d in tai.inventory assert item_d not in jesse.inventory assert item_a in jesse.inventory
def test_swap_by_newest(): 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]) item_d = Electronics(age=10) item_e = Decor(age=17) item_f = Electronics(age=1) live = Vendor(inventory=[item_d, item_e, item_f]) result = johannes.swap_by_newest(other=live) assert result is True assert len(johannes.inventory) is 3 assert len(live.inventory) is 3 assert item_c not in johannes.inventory assert item_f in johannes.inventory assert item_f not in live.inventory assert item_c in live.inventory
def test_swap_by_newest_swaps_first_item_when_all_items_are_same_age(): item_a = Clothing(age=5) item_b = Decor(age=5) item_c = Electronics(age=5) johannes = Vendor(inventory=[item_a, item_b, item_c]) item_d = Electronics(age=5) item_e = Decor(age=5) item_f = Clothing(age=5) live = Vendor(inventory=[item_d, item_e, item_f]) result = johannes.swap_by_newest(other=live) assert result is True assert len(johannes.inventory) is 3 assert len(live.inventory) is 3 assert item_a not in johannes.inventory assert item_d in johannes.inventory assert item_d not in live.inventory assert item_a in live.inventory
def test_swap_by_newest_works_with_really_old_items(): item_a = Clothing(age=3857327832) item_b = Decor(age=3758239357346849) item_c = Electronics(age=73728834859649327) johannes = Vendor(inventory=[item_a, item_b, item_c]) item_d = Electronics(age=863993285383268) item_e = Decor(age=869393864386548438) item_f = Clothing(age=94639489) live = Vendor(inventory=[item_d, item_e, item_f]) result = johannes.swap_by_newest(other=live) assert result is True assert len(johannes.inventory) is 3 assert len(live.inventory) is 3 assert item_a not in johannes.inventory assert item_f in johannes.inventory assert item_f not in live.inventory assert item_a in live.inventory
def test_swap_by_newest_returns_true(): item_a = Item(age=1) item_b = Item(age=2) item_c = Item(age=3) fatimah = Vendor(inventory=[item_a, item_b, item_c]) item_d = Item(age=1) item_e = Item(age=5) jolie = Vendor(inventory=[item_d, item_e]) result = fatimah.swap_by_newest(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_edge(): item_a = Decor(edge=2.0) item_b = Electronics(edge=4.0) item_c = Decor(edge=4.0) tai = Vendor(inventory=[item_a, item_b, item_c]) item_d = Clothing(edge=2.0) item_e = Decor(edge=4.0) item_f = Clothing(edge=4.0) 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) is 3 assert len(jesse.inventory) is 3 assert item_a not in tai.inventory assert item_d in tai.inventory assert item_d not in jesse.inventory assert item_a in jesse.inventory
def test_swap_newest(): item_a = Decor(condition=2.0, age=8.0) item_b = Electronics(condition=4.0, age=3.0) item_c = Decor(condition=4.0, age=3.0) tai = Vendor(inventory=[item_a, item_b, item_c]) item_d = Clothing(condition=2.0, age=8.0) item_e = Decor(condition=4.0, age=3.0) item_f = Clothing(condition=4.0, age=3.0) 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) 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