code: def test_add_files_from_theme(self, tdir, ddir):
      config = load_config(
          docs_dir=ddir, theme={"name": None, "custom_dir": tdir}
      )
      env = config.theme.get_env()
      files = get_files(config)
      self.assertEqual(
          [file.src_uri for file in files],
          ["index.md", "favicon.ico"],
      )
      files.add_files_from_theme(env, config)
      self.assertEqual(
          [file.src_uri for file in files],
          ["index.md", "favicon.ico", "style.css"],
      )
      # Ensure theme file does not override docs_dir file
      self.assertEqual(
          files.get_file_from_path("favicon.ico").abs_src_path,
          os.path.normpath(os.path.join(ddir, "favicon.ico")),
      )
  
imports: import os
  import sys
  import unittest
  from unittest import mock
  from mkdocs.structure.files import File, Files, _sort_files, get_files
  from mkdocs.tests.base import PathAssertionMixin, load_config, tempdir
label_desc: Use image node_id 15 for calling the TestFiles obj's underlying member method code with example usage: obj.test_add_files_from_theme(tdir, ddir) without return types