コード例 #1
0
ファイル: Bootstrapper.cs プロジェクト: u1035/Camelot
        private static void RegisterConfiguration(IMutableDependencyResolver services)
        {
            var configuration = new ConfigurationBuilder()
                                .AddJsonFile("appsettings.json")
                                .Build();

            var aboutDialogConfiguration = new AboutDialogConfiguration();

            configuration.GetSection("About").Bind(aboutDialogConfiguration);
            services.RegisterConstant(aboutDialogConfiguration);

            var databaseName          = configuration["DataAccess:DatabaseName"];
            var assemblyLocation      = Assembly.GetEntryAssembly()?.Location;
            var assemblyDirectory     = Path.GetDirectoryName(assemblyLocation);
            var databaseConfiguration = new DatabaseConfiguration
            {
                ConnectionString = Path.Combine(assemblyDirectory, databaseName)
            };

            services.RegisterConstant(databaseConfiguration);

            var fileSystemWatcherConfiguration = new FileSystemWatcherConfiguration();

            configuration.GetSection("FileSystemWatcher").Bind(fileSystemWatcherConfiguration);
            services.RegisterConstant(fileSystemWatcherConfiguration);
        }
コード例 #2
0
    private static void RegisterAboutDialogConfiguration(IMutableDependencyResolver services,
                                                         IConfiguration configuration)
    {
        var config = new AboutDialogConfiguration();

        configuration.GetSection("About").Bind(config);
        services.RegisterConstant(config);
    }
コード例 #3
0
    public AboutDialogViewModel(
        IApplicationVersionProvider applicationVersionProvider,
        IResourceOpeningService resourceOpeningService,
        AboutDialogConfiguration aboutDialogConfiguration)
    {
        _resourceOpeningService   = resourceOpeningService;
        _aboutDialogConfiguration = aboutDialogConfiguration;

        ApplicationVersion    = applicationVersionProvider.Version;
        OpenRepositoryCommand = ReactiveCommand.Create(OpenRepository);
    }
コード例 #4
0
ファイル: Bootstrapper.cs プロジェクト: dorisoy/Camelot
        private static void RegisterConfiguration(IMutableDependencyResolver services)
        {
            var configuration = new ConfigurationBuilder()
                                .AddJsonFile("appsettings.json")
                                .Build();

            var aboutDialogConfiguration = new AboutDialogConfiguration();

            configuration.GetSection("About").Bind(aboutDialogConfiguration);
            services.RegisterConstant(aboutDialogConfiguration);

            var databaseName          = configuration["DataAccess:DatabaseName"];
            var connectionString      = configuration["DataAccess:ConnectionString"];
            var assemblyLocation      = Assembly.GetEntryAssembly()?.Location;
            var assemblyDirectory     = Path.GetDirectoryName(assemblyLocation);
            var databaseConfiguration = new DatabaseConfiguration
            {
                ConnectionString = string.Format(connectionString, Path.Combine(assemblyDirectory, databaseName))
            };

            services.RegisterConstant(databaseConfiguration);

            var fileSystemWatcherConfiguration = new FileSystemWatcherConfiguration();

            configuration.GetSection("FileSystemWatcher").Bind(fileSystemWatcherConfiguration);
            services.RegisterConstant(fileSystemWatcherConfiguration);

            var imagePreviewConfiguration = new ImagePreviewConfiguration();

            configuration.GetSection("ImagePreview").Bind(imagePreviewConfiguration);
            services.RegisterConstant(imagePreviewConfiguration);

            var filePanelConfiguration = new FilePanelConfiguration();

            configuration.GetSection("FilePanel").Bind(filePanelConfiguration);
            services.RegisterConstant(filePanelConfiguration);

            var searchViewModelConfiguration = new SearchViewModelConfiguration();

            configuration.GetSection("SearchPanel").Bind(searchViewModelConfiguration);
            searchViewModelConfiguration.InvalidRegexResourceName = nameof(Resources.InvalidRegex);
            services.RegisterConstant(searchViewModelConfiguration);

            var driveServiceConfiguration = new DriveServiceConfiguration();

            configuration.GetSection("Drives").Bind(driveServiceConfiguration);
            services.RegisterConstant(driveServiceConfiguration);
        }
コード例 #5
0
    public void TestInformation()
    {
        const string version = "1.0.0";

        _autoMocker
        .Setup <IApplicationVersionProvider, string>(m => m.Version)
        .Returns(version);
        var configuration = new AboutDialogConfiguration
        {
            Maintainers = new[] { "Maintainer1", "Maintainer2" }
        };

        _autoMocker.Use(configuration);

        var dialog = _autoMocker.CreateInstance <AboutDialogViewModel>();

        Assert.Equal(version, dialog.ApplicationVersion);
        Assert.True(configuration.Maintainers.All(dialog.Maintainers.Contains));
    }
コード例 #6
0
        public void TestInformation()
        {
            const string version = "1.0.0";

            var applicationVersionProviderMock = new Mock <IApplicationVersionProvider>();

            applicationVersionProviderMock
            .SetupGet(m => m.Version)
            .Returns(version);
            var resourceOpeningServiceMock = new Mock <IResourceOpeningService>();
            var configuration = new AboutDialogConfiguration
            {
                Maintainers = new[] { "Maintainer1", "Maintainer2" }
            };
            var dialog = new AboutDialogViewModel(applicationVersionProviderMock.Object,
                                                  resourceOpeningServiceMock.Object, configuration);

            Assert.Equal(version, dialog.ApplicationVersion);
            Assert.True(configuration.Maintainers.All(dialog.Maintainers.Contains));
        }
コード例 #7
0
    public void TestOpenRepositoryCommand()
    {
        const string url = "url";

        _autoMocker
        .Setup <IResourceOpeningService>(m => m.Open(url))
        .Verifiable();
        var configuration = new AboutDialogConfiguration {
            RepositoryUrl = url
        };

        _autoMocker.Use(configuration);

        var dialog = _autoMocker.CreateInstance <AboutDialogViewModel>();

        Assert.True(dialog.OpenRepositoryCommand.CanExecute(null));

        dialog.OpenRepositoryCommand.Execute(null);

        _autoMocker.Verify <IResourceOpeningService>(m => m.Open(url), Times.Once);
    }
コード例 #8
0
        public void TestOpenRepositoryCommand()
        {
            const string url = "url";

            var applicationVersionProviderMock = new Mock <IApplicationVersionProvider>();
            var resourceOpeningServiceMock     = new Mock <IResourceOpeningService>();

            resourceOpeningServiceMock
            .Setup(m => m.Open(url))
            .Verifiable();
            var configuration = new AboutDialogConfiguration {
                RepositoryUrl = url
            };
            var dialog = new AboutDialogViewModel(applicationVersionProviderMock.Object,
                                                  resourceOpeningServiceMock.Object, configuration);

            Assert.True(dialog.OpenRepositoryCommand.CanExecute(null));

            dialog.OpenRepositoryCommand.Execute(null);

            resourceOpeningServiceMock.Verify(m => m.Open(url), Times.Once);
        }