code: def test_if_doc(then_branch, else_branch):
      predicate = IdDoc("x")
  
      if not then_branch and not else_branch:
          with pytest.raises(ValueError) as e:
              IfDoc(predicate, then_branch, else_branch)
          assert "IfDoc" in str(e.value)
          return
      else:
          doc = IfDoc(predicate, then_branch, else_branch)
  
      assert doc.predicate == predicate
      assert list(doc.then_branch) == then_branch
      assert list(doc.else_branch) == else_branch
  
imports: import pytest
  import tvm
  from tvm.runtime import ObjectPath
  from tvm.script.printer.doc import AssertDoc, AssignDoc, AttrAccessDoc, CallDoc, ClassDoc, CommentDoc, DictDoc, DocStringDoc, ExprStmtDoc, ForDoc, FunctionDoc, IdDoc, IfDoc, IndexDoc, LambdaDoc, ListDoc, LiteralDoc, OperationDoc, OperationKind, ReturnDoc, ScopeDoc, SliceDoc, StmtBlockDoc, TupleDoc, WhileDoc
label_desc: Use image node_id 18 for calling a global function with example usage: test_if_doc(then_branch, else_branch) without return types