from equiv import *
import check

print("Tests for equiv")
check.expect("Same order", equiv([1, 2, 3], [1, 2, 3]), True)
check.expect("Reordered", equiv([1, 2, 2, 3, 3, 4], [4, 2, 1, 2, 3, 3]), True)
check.expect("Different, same length", equiv([1, 2, 2], [1, 1, 2]), False)
check.expect("Different lengths", equiv([1, 2], [1, 2, 2]), False)

print("Tests for equiv_lol")
check.expect("Same order", equiv_lol([[1], [2], [3]], [[1], [2], [3]]), True)
check.expect("Reordered", equiv_lol([[1], [2], [3], [4]], [[4], [2], [3], [1]]), True)
check.expect("Reordered within lists", equiv_lol([[1, 5], [2, 6], [3, 7], [5, 1], [4, 8]], [[4, 8], [1, 5], [6, 2], [7, 3], [1, 5]]), True)
check.expect("Different, same length", equiv_lol([[1], [2], [3], [4]], [[4], [2], [4], [1]]), False)
check.expect("Different lengths", equiv_lol([[1], [2]], [[1], [2], [2]]), False)

print("Tests for in_equiv")
check.expect("Same list", in_equiv([1, 2], [[3, 4], [1, 2]]), True)
check.expect("Reordered list", in_equiv([1, 2], [[3, 4], [2, 1]]), True)
check.expect("Not present", in_equiv([1, 2], [[3, 4], [2, 5]]), False)




