code: def test_Cycle():
      assert str(Cycle()) == "()"
      assert Cycle(Cycle(1, 2)) == Cycle(1, 2)
      assert Cycle(1, 2).copy() == Cycle(1, 2)
      assert list(Cycle(1, 3, 2)) == [0, 3, 1, 2]
      assert Cycle(1, 2)(2, 3) == Cycle(1, 3, 2)
      assert Cycle(1, 2)(2, 3)(4, 5) == Cycle(1, 3, 2)(4, 5)
      assert Permutation(Cycle(1, 2)(2, 1, 0, 3)).cyclic_form, Cycle(
          0, 2, 1
      )
      raises(ValueError, lambda: Cycle().list())
      assert Cycle(1, 2).list() == [0, 2, 1]
      assert Cycle(1, 2).list(4) == [0, 2, 1, 3]
      assert Cycle(3).list(2) == [0, 1]
      assert Cycle(3).list(6) == [0, 1, 2, 3, 4, 5]
      assert Permutation(Cycle(1, 2), size=4) == Permutation(
          [0, 2, 1, 3]
      )
      assert str(Cycle(1, 2)(4, 5)) == "(1 2)(4 5)"
      assert str(Cycle(1, 2)) == "(1 2)"
      assert Cycle(Permutation(list(range(3)))) == Cycle()
      assert Cycle(1, 2).list() == [0, 2, 1]
      assert Cycle(1, 2).list(4) == [0, 2, 1, 3]
      assert Cycle().size == 0
      raises(ValueError, lambda: Cycle((1, 2)))
      raises(ValueError, lambda: Cycle(1, 2, 1))
      raises(TypeError, lambda: Cycle(1, 2) * {})
      raises(ValueError, lambda: Cycle(4)[a])
      raises(ValueError, lambda: Cycle(2, -4, 3))
  
      # check round-trip
      p = Permutation([[1, 2], [4, 3]], size=5)
      assert Permutation(Cycle(p)) == p
  
imports: from itertools import permutations
  from copy import copy
  from sympy.core.expr import unchanged
  from sympy.core.numbers import Integer
  from sympy.core.relational import Eq
  from sympy.core.symbol import Symbol
  from sympy.core.singleton import S
  from sympy.combinatorics.permutations import Permutation, _af_parity, _af_rmul, _af_rmuln, AppliedPermutation, Cycle
  from sympy.printing import sstr, srepr, pretty, latex
  from sympy.testing.pytest import raises, warns_deprecated_sympy
label_desc: Use image node_id 7 for calling a global function with example usage: test_Cycle() without return types