code: def test_remove_file(self):
      # This should not error.
      self.mgr.remove_file("non-session", "non-file-id")
  
      self.mgr.add_file("session", FILE_1)
      self.mgr.remove_file("session", FILE_1.file_id)
      self.assertEqual(
          [], self.mgr.get_files("session", [FILE_1.file_id])
      )
  
      # Remove the file again. It doesn't exist, but this isn't an error.
      self.mgr.remove_file("session", FILE_1.file_id)
      self.assertEqual(
          [], self.mgr.get_files("session", [FILE_1.file_id])
      )
  
      self.mgr.add_file("session", FILE_1)
      self.mgr.add_file("session", FILE_2)
      self.mgr.remove_file("session", FILE_1.file_id)
      self.assertEqual(
          [FILE_2],
          self.mgr.get_files(
              "session", [FILE_1.file_id, FILE_2.file_id]
          ),
      )
  
file_path: streamlit/lib/tests/streamlit/runtime/uploaded_file_manager_test.py
imports: import unittest
  from streamlit.runtime.memory_uploaded_file_manager import MemoryUploadedFileManager
  from streamlit.runtime.stats import CacheStat
  from streamlit.runtime.uploaded_file_manager import UploadedFileRec
  from tests.exception_capturing_thread import call_on_threads
label_desc: Use image node_id 4 for calling the UploadedFileManagerTest obj's underlying member method code with example usage: obj.test_remove_file() without return types