## Last version: 20 February 2019

import check
from multisetlinked import Multiset

tester = Multiset()

print("Tests for repr")
tester.add(1)

check.expect("One value", repr(tester), "(1)")

tester.add(2)
tester.add(3)
tester.add(1)
tester.add(2)

check.expect("Five values", repr(tester), "(2,1,3,2,1)")

print("Tests for add, delete, and in")
check.expect("Value stored", 3 in tester, True)
check.expect("Value absent", 4 in tester, False)

tester.delete(3)

check.expect("All copies removed by delete", 3 in tester, False)

tester.delete(1)

check.expect("Not all copies removed by delete", 1 in tester, True)

tester.delete(1)
tester.delete(2)
tester.delete(2)

check.expect("All 1's deleted", 1 in tester, False)
check.expect("All 2's deleted", 2 in tester, False)



