Ejemplo n.º 1
0
        private static IFilesPanelViewModel CreateFilesPanelViewModel(
            IReadonlyDependencyResolver resolver,
            string panelKey)
        {
            var filesPanelStateService = new FilesPanelStateService(
                resolver.GetRequiredService <IUnitOfWorkFactory>(),
                panelKey
                );
            var tabsListViewModel = new TabsListViewModel(
                filesPanelStateService,
                resolver.GetRequiredService <IDirectoryService>(),
                resolver.GetRequiredService <ITabViewModelFactory>(),
                resolver.GetRequiredService <FilePanelConfiguration>()
                );
            var filesPanelViewModel = new FilesPanelViewModel(
                resolver.GetRequiredService <IFileService>(),
                resolver.GetRequiredService <IDirectoryService>(),
                resolver.GetRequiredService <INodesSelectionService>(),
                resolver.GetRequiredService <IFileSystemNodeViewModelFactory>(),
                resolver.GetRequiredService <IFileSystemWatchingService>(),
                resolver.GetRequiredService <IApplicationDispatcher>(),
                resolver.GetRequiredService <IFileSizeFormatter>(),
                resolver.GetRequiredService <IClipboardOperationsService>(),
                resolver.GetRequiredService <IFileSystemNodeViewModelComparerFactory>(),
                resolver.GetRequiredService <ISearchViewModel>(),
                tabsListViewModel
                );

            return(filesPanelViewModel);
        }
        public void TestInvalidStateSaving()
        {
            var unitOfWorkFactoryMock = new Mock <IUnitOfWorkFactory>();
            IFilesPanelStateService filesPanelStateService = new FilesPanelStateService(
                unitOfWorkFactoryMock.Object, PanelKey);

            Assert.Throws <ArgumentNullException>(() => filesPanelStateService.SavePanelState(null));
        }
Ejemplo n.º 3
0
    private static IFilesPanelViewModel CreateFilesPanelViewModel(
        IReadonlyDependencyResolver resolver,
        string panelKey)
    {
        var observer = resolver.GetRequiredService <IFilePanelDirectoryObserver>();
        var directorySelectorViewModel = new DirectorySelectorViewModel(
            resolver.GetRequiredService <IFavouriteDirectoriesService>(),
            resolver.GetRequiredService <IDirectoryService>(),
            resolver.GetRequiredService <ISuggestionsService>(),
            observer,
            resolver.GetRequiredService <ISuggestedPathViewModelFactory>()
            );
        var filesPanelStateService = new FilesPanelStateService(
            resolver.GetRequiredService <IUnitOfWorkFactory>(),
            panelKey
            );
        var tabsListViewModel = new TabsListViewModel(
            filesPanelStateService,
            resolver.GetRequiredService <IDirectoryService>(),
            resolver.GetRequiredService <ITabViewModelFactory>(),
            resolver.GetRequiredService <IFilesOperationsMediator>(),
            resolver.GetRequiredService <IHomeDirectoryProvider>(),
            observer,
            resolver.GetRequiredService <TabsListConfiguration>()
            );
        var filesPanelViewModel = new FilesPanelViewModel(
            resolver.GetRequiredService <IFileService>(),
            resolver.GetRequiredService <IDirectoryService>(),
            resolver.GetRequiredService <INodesSelectionService>(),
            resolver.GetRequiredService <INodeService>(),
            resolver.GetRequiredService <IFileSystemNodeViewModelFactory>(),
            resolver.GetRequiredService <IFileSystemWatchingService>(),
            resolver.GetRequiredService <IApplicationDispatcher>(),
            resolver.GetRequiredService <IFileSizeFormatter>(),
            resolver.GetRequiredService <IFileSystemNodeViewModelComparerFactory>(),
            resolver.GetRequiredService <IRecursiveSearchService>(),
            observer,
            resolver.GetRequiredService <IPermissionsService>(),
            resolver.GetRequiredService <IDialogService>(),
            resolver.GetRequiredService <ISearchViewModel>(),
            tabsListViewModel,
            resolver.GetRequiredService <IOperationsViewModel>(),
            directorySelectorViewModel,
            resolver.GetRequiredService <IDragAndDropOperationsMediator>(),
            resolver.GetRequiredService <IClipboardOperationsViewModel>()
            );

        return(filesPanelViewModel);
    }
        public void TestEmptyState()
        {
            var repositoryMock = new Mock <IRepository <PanelModel> >();

            repositoryMock
            .Setup(m => m.GetById(PanelKey))
            .Returns((PanelModel)null);

            var unitOfWorkFactory = GetUnitOfWorkFactory(repositoryMock);

            IFilesPanelStateService filesPanelStateService = new FilesPanelStateService(
                unitOfWorkFactory, PanelKey);

            var emptyState = filesPanelStateService.GetPanelState();

            Assert.NotNull(emptyState);
            Assert.NotNull(emptyState.Tabs);
            Assert.Empty(emptyState.Tabs);
        }
        public void TestSettingsPersistence()
        {
            var collection     = new List <TabModel>();
            var repositoryMock = new Mock <IRepository <PanelModel> >();

            repositoryMock
            .Setup(m => m.GetById(PanelKey))
            .Returns(new PanelModel {
                Tabs = collection
            });
            repositoryMock
            .Setup(m => m.Upsert(PanelKey, It.IsAny <PanelModel>()))
            .Callback <string, PanelModel>((key, panelState) =>
            {
                collection.Clear();
                collection.AddRange(panelState.Tabs);
            });

            var unitOfWorkFactory = GetUnitOfWorkFactory(repositoryMock);

            IFilesPanelStateService filesPanelStateService = new FilesPanelStateService(
                unitOfWorkFactory, PanelKey);

            var tabs = Enumerable
                       .Range(0, 10)
                       .Select(_ => new TabStateModel
            {
                SortingSettings = new SortingSettingsStateModel()
            })
                       .ToList();
            var state = new PanelStateModel {
                Tabs = tabs
            };

            filesPanelStateService.SavePanelState(state);

            var savedState = filesPanelStateService.GetPanelState();

            Assert.NotNull(savedState);
            Assert.NotNull(savedState.Tabs);
            Assert.Equal(tabs.Count, savedState.Tabs.Count);
        }
Ejemplo n.º 6
0
        private static FilesPanelViewModel CreateFilesPanelViewModel(
            IReadonlyDependencyResolver resolver,
            string panelKey)
        {
            var filesPanelStateService = new FilesPanelStateService(
                resolver.GetService <IUnitOfWorkFactory>(),
                panelKey
                );
            var filesPanelViewModel = new FilesPanelViewModel(
                resolver.GetService <IFileService>(),
                resolver.GetService <IDirectoryService>(),
                resolver.GetService <IFilesSelectionService>(),
                resolver.GetService <IFileViewModelFactory>(),
                resolver.GetService <IFileSystemWatchingService>(),
                resolver.GetService <IApplicationDispatcher>(),
                filesPanelStateService,
                resolver.GetService <ITabViewModelFactory>()
                );

            return(filesPanelViewModel);
        }
Ejemplo n.º 7
0
        public void TestSettingsPersistence()
        {
            var collection     = new List <string>();
            var repositoryMock = new Mock <IRepository <PanelState> >();

            repositoryMock
            .Setup(m => m.GetById(PanelKey))
            .Returns(new PanelState {
                Tabs = collection
            });
            repositoryMock
            .Setup(m => m.Upsert(PanelKey, It.IsAny <PanelState>()))
            .Callback <string, PanelState>((key, panelState) =>
            {
                collection.Clear();
                collection.AddRange(panelState.Tabs);
            });

            var unitOfWorkFactory = GetUnitOfWorkFactory(repositoryMock);

            IFilesPanelStateService filesPanelStateService = new FilesPanelStateService(
                unitOfWorkFactory, PanelKey);

            var tabs  = Enumerable.Range(0, 10).Select(n => n.ToString()).ToArray();
            var state = new PanelState {
                Tabs = tabs.ToList()
            };

            filesPanelStateService.SavePanelState(state);

            var savedState = filesPanelStateService.GetPanelState();

            Assert.NotNull(savedState);
            Assert.NotNull(savedState.Tabs);
            Assert.True(savedState.Tabs.Count == tabs.Length);
            Assert.Equal(tabs, savedState.Tabs);
        }