code: def test_uncompress_file(self):
      # Testing txt file type
      with pytest.raises(
          NotImplementedError,
          match="^Received .txt format. Only gz and bz2.*",
      ):
          compression.uncompress_file(
              **{
                  "input_file_name": None,
                  "file_extension": ".txt",
                  "dest_dir": None,
              },
          )
      # Testing gz file type
      fn_txt = self._get_fn(".txt")
      fn_gz = self._get_fn(".gz")
      txt_gz = compression.uncompress_file(fn_gz, ".gz", self.tmp_dir)
      assert filecmp.cmp(
          txt_gz, fn_txt, shallow=False
      ), "Uncompressed file does not match original"
      # Testing bz2 file type
      fn_bz2 = self._get_fn(".bz2")
      txt_bz2 = compression.uncompress_file(
          fn_bz2, ".bz2", self.tmp_dir
      )
      assert filecmp.cmp(
          txt_bz2, fn_txt, shallow=False
      ), "Uncompressed file does not match original"
  
file_path: airflow/tests/utils/test_compression.py
imports: from __future__ import annotations
  import bz2
  import errno
  import filecmp
  import gzip
  import shutil
  import tempfile
  import pytest
  from airflow.utils import compression
label_desc: Use image node_id 4 for calling the TestCompression obj's underlying member method code with example usage: obj.test_uncompress_file() without return types