public void ProgramInformationTableDescriptor_DefaultConstructor_InitializesAsExpected()
        {
            var descriptor = new ProgramInformationTableDescriptor();

            Assert.Null(descriptor.FilePath);
            Assert.Null(descriptor.Factory);
        }
        public void ProgramInformationTableDescriptor_ConstructorWithNullArguments_DoesNotThrow()
        {
            var descriptor = new ProgramInformationTableDescriptor(null, null);

            Assert.Null(descriptor.FilePath);
            Assert.Null(descriptor.Factory);
        }
        public void ProgramInformationTableDescriptor_ConstructorWithArguments_InitializesCorrectly()
        {
            var factory = new Func <string, IProgramInformationTable>(p =>
            {
                return(null);
            });
            var filePath   = @"C:\Program Files\lol.xml";
            var descriptor = new ProgramInformationTableDescriptor(filePath, factory);

            Assert.Equal(filePath, descriptor.FilePath);
            Assert.Equal(factory, descriptor.Factory);
        }
Пример #4
0
        /// <inheritdoc />
        public void OnImportsSatisfied()
        {
            var initializedCoreStreamUtils = INTV.Core.Utility.StreamUtilities.Initialize(new StorageAccess());

            if (initializedCoreStreamUtils)
            {
                INTV.Core.Utility.StringUtilities.RegisterHtmlDecoder(StringUtilities.HtmlDecode);
                INTV.Core.Utility.StringUtilities.RegisterHtmlEncoder(StringUtilities.HtmlEncode);
            }
            System.Diagnostics.Debug.Assert(initializedCoreStreamUtils, "Failed to initialize stream utilities!");
            Core.Model.IRomHelpers.InitializeCallbacks(GetIntvNameData);
            var documentFolderName = SingleInstanceApplication.AppInfo.DocumentFolderName;

            _applicationDocumentsPath = Path.Combine(PathUtils.GetDocumentsDirectory(), documentFolderName);
            if (!Directory.Exists(_applicationDocumentsPath))
            {
                Directory.CreateDirectory(_applicationDocumentsPath);
            }
            BackupDataDirectory = System.IO.Path.Combine(_applicationDocumentsPath, BackupDataArea);
            ErrorLogDirectory   = Path.Combine(_applicationDocumentsPath, ErrorLogDir);
            RomsDirectory       = Path.Combine(_applicationDocumentsPath, RomsDir);
            ManualsDirectory    = Path.Combine(_applicationDocumentsPath, ManualsDir);
            BoxesDirectory      = Path.Combine(_applicationDocumentsPath, BoxesDir);
            OverlaysDirectory   = Path.Combine(_applicationDocumentsPath, OverlaysDir);
            LabelsDirectory     = Path.Combine(_applicationDocumentsPath, LabelsDir);

            var directories = new[] { _applicationDocumentsPath, RomsDirectory, ManualsDirectory, BoxesDirectory, OverlaysDirectory, LabelsDirectory, BackupDataDirectory, ErrorLogDirectory };

            FileUtilities.EnsureDirectoriesExist(directories);

            RomFilesPath = Path.Combine(_applicationDocumentsPath, RomsFile);

            var localInfoTables = new ProgramInformationTableDescriptor[]
            {
                new ProgramInformationTableDescriptor(Path.Combine(_applicationDocumentsPath, LocalRomDefintions), UserSpecifiedProgramInformationTable.Initialize)
            };

            ProgramInfoTable = ProgramInformationTable.Initialize(localInfoTables);
        }