public void Initialize()
        {
            m_typeService = MockRepository.GenerateMock <ITypeService>();
            m_typeService.Expect(t => t.GetTypes()).Return(new Type[]
            {
                typeof(StringExtensions),
                typeof(ScriptMetadataService)
            });

            m_target = new ScriptMetadataService(m_typeService);
        }
        /// <summary>
        /// Performs the setup.
        /// </summary>
        /// <param name="assetsRootFolder">Assets root folder.</param>
        /// <param name="log">Log.</param>
        public static void Setup(string assetsRootFolder, ILog log)
        {
            Log = log;
            Log.Debug("MetadataBootstrap.Setup: {0}", assetsRootFolder);

            FileSystem     = new IsolatedFolderFileSystem(assetsRootFolder);
            AssemblyLoader = new ReflectionAssemblyLoader(FileSystem);
            TypeService    = new TypeService(FileSystem, AssemblyLoader);
            MetaFileService.Initialize(FileSystem);
            ScriptMetadataService = new ScriptMetadataService(TypeService);
            PrefabMetadataReader  = new YamlPrefabMetadataReader(ScriptMetadataService, FileSystem);
            PrefabMetadataWriter  = new YamlPrefabMetadataWriter(FileSystem, Log);
            PrefabMetadataService = new PrefabMetadataService(PrefabMetadataReader, PrefabMetadataWriter, FileSystem, TypeService);
            AssetRepository       = new AssetDatabaseAssetRepository();
        }