Пример #1
0
        public SS14UnitTest()
        {
            /*
             * Assembly.getEntryAssembly() returns null because Unit tests
             * are unmanaged and have no app domain managers.
             * this causes IOCManager to never load or build any of the types
             *
             * Fixed by Setting the Entry assembly values manually here
             */
            Assembly assembly = Assembly.GetCallingAssembly();

            AppDomainManager manager            = new AppDomainManager();
            FieldInfo        entryAssemblyfield = manager.GetType().GetField("m_entryAssembly", BindingFlags.Instance | BindingFlags.NonPublic);

            entryAssemblyfield.SetValue(manager, assembly);

            AppDomain domain             = AppDomain.CurrentDomain;
            FieldInfo domainManagerField = domain.GetType().GetField("_domainManager", BindingFlags.Instance | BindingFlags.NonPublic);

            domainManagerField.SetValue(domain, manager);

            /* end fix */


            //ConfigurationManager setup
            GetConfigurationManager = IoCManager.Resolve <IPlayerConfigurationManager>();
            GetConfigurationManager.Initialize("./player_config.xml");

            //ResourceManager Setup
            GetResourceManager = IoCManager.Resolve <IResourceManager>();
            InitializeResources();
        }
Пример #2
0
        public SS14UnitTest()
        {
            var    assemblies  = new List <Assembly>();
            string assemblyDir = Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath);

            assemblies.Add(Assembly.LoadFrom(Path.Combine(assemblyDir, "SS14.Client.Services.dll")));
            assemblies.Add(Assembly.LoadFrom(Path.Combine(assemblyDir, "SS14.Server.Services.dll")));

            IoCManager.AddAssemblies(assemblies);

            //ConfigurationManager setup
            GetConfigurationManager = IoCManager.Resolve <IPlayerConfigurationManager>();
            GetConfigurationManager.Initialize("./player_config.xml");

            #if !HEADLESS
            //ResourceManager Setup
            GetResourceManager = IoCManager.Resolve <IResourceManager>();
            InitializeResources();
            #endif
        }