public void Setup()
        {
            _tmpFolder = new TemporaryFolder("NewSessionsFromFilesTests");

            _srcFolder      = _tmpFolder.Combine("source");
            _sessionsFolder = _tmpFolder.Combine(Session.kFolderName);

            Directory.CreateDirectory(_srcFolder);

            var repo = new Mock <ElementRepository <Session> >();

            repo.Setup(e => e.PathToFolder).Returns(_sessionsFolder);

            _sessionPresentationModel = new ElementListViewModel <Session>(repo.Object);
            _model = new TestNewSessionsFromFileDlgViewModel(_sessionPresentationModel, CreateNewComponentFile);
        }
        /// ------------------------------------------------------------------------------------
        public NewSessionsFromFileDlgViewModel(ElementListViewModel <Session> sessionPresentationModel,
                                               NewComponentFile.NewComponentFileFactory newComponentFileFactory)
        {
            _newComponentFileFactory = newComponentFileFactory;
            SessionPresentationModel = sessionPresentationModel;

            _fileWatcher = new FileSystemWatcher();
            _fileWatcher.EnableRaisingEvents   = false;
            _fileWatcher.IncludeSubdirectories = false;
            _fileWatcher.Renamed += HandleFileWatcherRenameEvent;
            _fileWatcher.Deleted += HandleFileWatcherDeleteOrCreatedEvent;
            _fileWatcher.Created += HandleFileWatcherDeleteOrCreatedEvent;

            _fileLoaderWorker = new BackgroundWorker();
            _fileLoaderWorker.WorkerReportsProgress      = true;
            _fileLoaderWorker.WorkerSupportsCancellation = true;
            _fileLoaderWorker.ProgressChanged           += HandleFileLoaderProgressChanged;
            _fileLoaderWorker.RunWorkerCompleted        += HandleFileLoaderComplete;
            _fileLoaderWorker.DoWork += HandleFileLoaderDoWork;

            m_files = new List <NewComponentFile>();
        }
Ejemplo n.º 3
0
        public void Setup()
        {
            SIL.Reporting.ErrorReport.IsOkToInteractWithUser = false;
            _tmpFolder = new TemporaryFolder("elementRepoTestFolder");

            var peter = new Mock <Person>();

            peter.Setup(p => p.Id).Returns("peter");
            peter.Setup(p => p.GetComponentFiles()).Returns(new[]
            {
                ComponentFileTests.CreateComponentFile(_tmpFolder, peter.Object, "peterSong1.mp3"),
                ComponentFileTests.CreateComponentFile(_tmpFolder, peter.Object, "peterSong2.mp3"),
            });

            var paul = new Mock <Person>();

            paul.Setup(p => p.Id).Returns("paul");
            paul.Setup(p => p.GetComponentFiles()).Returns(new[]
            {
                ComponentFileTests.CreateComponentFile(_tmpFolder, peter.Object, "paulSong1.mp3"),
                ComponentFileTests.CreateComponentFile(_tmpFolder, peter.Object, "paulSong2.mp3"),
            });

            var mary = new Mock <Person>();

            mary.Setup(p => p.Id).Returns("mary");
            mary.Setup(p => p.GetComponentFiles()).Returns(new[]
            {
                ComponentFileTests.CreateComponentFile(_tmpFolder, peter.Object, "marySong1.mp3"),
                ComponentFileTests.CreateComponentFile(_tmpFolder, peter.Object, "marySong2.mp3"),
            });

            _repo = new ElementRepository <Person>(_tmpFolder.Path, Person.kFolderName, new PersonFileType(null, null),
                                                   (folder, id, idChangedAction) =>
            {
                switch (id)
                {
                case "peter": return(peter.Object);

                case "paul": return(paul.Object);

                case "mary": return(mary.Object);
                }

                return(null);
            });

            Directory.CreateDirectory(_tmpFolder.Combine(Person.kFolderName, "peter"));
            Directory.CreateDirectory(_tmpFolder.Combine(Person.kFolderName, "paul"));
            Directory.CreateDirectory(_tmpFolder.Combine(Person.kFolderName, "mary"));

            peter.Setup(p => p.FolderPath).Returns(_tmpFolder.Combine(Person.kFolderName, "peter"));
            paul.Setup(p => p.FolderPath).Returns(_tmpFolder.Combine(Person.kFolderName, "paul"));
            mary.Setup(p => p.FolderPath).Returns(_tmpFolder.Combine(Person.kFolderName, "mary"));

            _repo.CreateNew("peter");
            _repo.CreateNew("paul");
            _repo.CreateNew("mary");

            _model = new ElementListViewModel <Person>(_repo);
        }
 internal TestNewSessionsFromFileDlgViewModel(ElementListViewModel <Session> sessionPresentationModel,
                                              NewComponentFile.NewComponentFileFactory newComponentFileFactory) :
     base(sessionPresentationModel, newComponentFileFactory)
 {
 }
Ejemplo n.º 5
0
        public void NotifyElementsReportReady(string title, IEnumerable <IDsmElement> elements)
        {
            ElementListViewModel elementListViewModel = new ElementListViewModel(title, elements);

            ElementsReportReady?.Invoke(this, elementListViewModel);
        }