def test_pop(self):
        new_obj = object()
        ordered_set = OrderedSet(['key', 1, '123', new_obj])

        ordered_set.pop()
        self.assertEqual(len(ordered_set), 3)

        ordered_set.pop()
        self.assertEqual(len(ordered_set), 2)

        ordered_set.pop()
        self.assertEqual(len(ordered_set), 1)

        ordered_set.pop()
        self.assertEqual(len(ordered_set), 0)

        with self.assertRaises(KeyError):
            ordered_set.pop()