code: def test_show_status(
      dvc, scm, mocker, capsys, mocked_status, args, is_dirty
  ):
      mocked_status["git"]["is_dirty"] = is_dirty
      mocker.patch(
          "dvc.repo.Repo.data_status", return_value=mocked_status
      )
      assert main(["data", "status", *args]) == 0
      out, err = capsys.readouterr()
      expected_out = """\
  Not in cache:
    (use "dvc fetch <file>..." to download files)
          notincache
  
  DVC committed changes:
    (git commit the corresponding dvc files to update the repo)
          added: dir/bar
          added: dir/foo
          deleted: dir/baz
          modified: dir/foobar
          unknown: dir/unknown1
  
  DVC uncommitted changes:
    (use "dvc commit <file>..." to track changes)
    (use "dvc checkout <file>..." to discard changes)
          added: dir/baz
          modified: dir/bar
          deleted: dir/foobar
          unknown: dir2/unknown2
  """
      if "--untracked-files" in args:
          expected_out += """
  Untracked files:
    (use "git add <file> ..." or "dvc add <file>..." to commit to git or to dvc)
          untracked
  """
      if "--unchanged" in args:
          expected_out += """
  DVC unchanged files:
          dir/foo
  """
  
      if is_dirty:
          expected_out += """\
  (there are other changes not tracked by dvc, use "git status" to see)
  """
      assert escape_ansi(out) == expected_out
      assert not err
  
file_path: dvc/tests/unit/command/test_data_status.py
imports: import json
  import pytest
  from funcy import omit
  from dvc.cli import main, parse_args
  from dvc.commands.data import CmdDataStatus
  from dvc.repo import Repo
  from dvc.repo.data import Status
  from tests.func.parsing.test_errors import escape_ansi
label_desc: Use image node_id 6 for calling a global function with example usage: test_show_status(dvc, scm, mocker, capsys, mocked_status, args, is_dirty) without return types