import unittest class LyingList(list): def __iter__(self): yield 1 class TestTupleOnLyingLists(unittest.TestCase): def test_assert_lists_right(self): x = LyingList([2]) self.assertEqual(list(x), [1]) def test_assert_sets_right(self): x = LyingList([2]) self.assertEqual(set(x), set((1,))) def test_assert_tuples_right(self): x = LyingList([2]) self.assertEqual(tuple(x), (1,)) if __name__ == '__main__': unittest.main()