Пример #1
0
        public void InitializeTest()
        {
            // создаём тестовый набор данных:

            // иньекция системного времени:
            SystemTime.Now = () => _testDateTimeNow;

            // файл номер 1
            var file1Path = @"C:\some_folder\some_file1.csv"; // путь
            var file1Meta = new FileMetadata {
                ByteSize = 10, LastModified = new DateTime(2013, 1, 5)
            };                                                                                         // свойства

            // файл номер 2, три файла(три пути) с одинаковыми свойствами
            var file2Path = @"D:\some_folder2\stuff\some_file1.csv";
            var file2WithDifferNamePath      = @"D:\some_folder2\stuff\some_file1_with_differ_name.csv";
            var file2WithDifferExtensionPath = @"D:\some_folder2\stuff\some_file1.with_differ_extension";
            var file2Meta = new FileMetadata {
                ByteSize = 15, LastModified = new DateTime(2013, 1, 7)
            };

            // создаем тестовый менеджер файловой системы
            _injectedManager = A.Fake <IFileSystemManager>();
            // прописываем какие свойства (матаданные) он должен возвращать по каждому файлу
            A.CallTo(() => _injectedManager.GetFileMetadata(file1Path)).Returns(file1Meta);
            A.CallTo(() => _injectedManager.GetFileMetadata(file2Path)).Returns(file2Meta);
            A.CallTo(() => _injectedManager.GetFileMetadata(file2WithDifferNamePath)).Returns(file2Meta);
            A.CallTo(() => _injectedManager.GetFileMetadata(file2WithDifferExtensionPath)).Returns(file2Meta);

            #region делаем иньекцию тестового менеджера файловой системы:

            // создаем объекты SyncFile для файлов:
            // объект SyncFile для файла номер 1, неактуальный (более старый)
            _nonActualFile = new SyncFile(file1Path, _injectedManager);
            // объект SyncFile для файла номер 2, актуальный (более новый)
            _actualFile = new SyncFile(file2Path, _injectedManager);

            //  объект SyncFile для файла номер 2, актуальный (более новый) с другим именем
            _actualFileWithDifferName = new SyncFile(file2WithDifferNamePath, _injectedManager);
            //  объект SyncFile для файла номер 2, актуальный (более новый) с другим расширением
            _actualFileWithDifferExtension = new SyncFile(file2WithDifferExtensionPath, _injectedManager);

            _sfp = new SyncFilesPair(_injectedManager);
            #endregion
        }
Пример #2
0
        public void InitializeTest()
        {
            // создаём тестовый набор данных:

            // иньекция системного времени:
            SystemTime.Now = () => _testDateTimeNow;

            // файл номер 1
            var file1Path = @"C:\some_folder\some_file1.csv"; // путь
            var file1Meta = new FileMetadata {ByteSize = 10, LastModified = new DateTime(2013, 1, 5)}; // свойства

            // файл номер 2, три файла(три пути) с одинаковыми свойствами
            var file2Path = @"D:\some_folder2\stuff\some_file1.csv";
            var file2WithDifferNamePath = @"D:\some_folder2\stuff\some_file1_with_differ_name.csv";
            var file2WithDifferExtensionPath = @"D:\some_folder2\stuff\some_file1.with_differ_extension";
            var file2Meta = new FileMetadata { ByteSize = 15, LastModified = new DateTime(2013, 1, 7) };

            // создаем тестовый менеджер файловой системы
            _injectedManager = A.Fake<IFileSystemManager>();
            // прописываем какие свойства (матаданные) он должен возвращать по каждому файлу
            A.CallTo(() => _injectedManager.GetFileMetadata(file1Path)).Returns(file1Meta);
            A.CallTo(() => _injectedManager.GetFileMetadata(file2Path)).Returns(file2Meta);
            A.CallTo(() => _injectedManager.GetFileMetadata(file2WithDifferNamePath)).Returns(file2Meta);
            A.CallTo(() => _injectedManager.GetFileMetadata(file2WithDifferExtensionPath)).Returns(file2Meta);

            #region делаем иньекцию тестового менеджера файловой системы:

            // создаем объекты SyncFile для файлов:
            // объект SyncFile для файла номер 1, неактуальный (более старый)
            _nonActualFile = new SyncFile(file1Path, _injectedManager);
            // объект SyncFile для файла номер 2, актуальный (более новый)
            _actualFile = new SyncFile(file2Path, _injectedManager);

            //  объект SyncFile для файла номер 2, актуальный (более новый) с другим именем
            _actualFileWithDifferName = new SyncFile(file2WithDifferNamePath, _injectedManager);
            //  объект SyncFile для файла номер 2, актуальный (более новый) с другим расширением
            _actualFileWithDifferExtension = new SyncFile(file2WithDifferExtensionPath, _injectedManager);

            _sfp = new SyncFilesPair(_injectedManager);
            #endregion
        }
Пример #3
0
        /// <summary>
        /// Пересчитывание метаданных с помощью менеджера файловой системы
        /// </summary>
        public FileMetadata RetrieveFileMetadata()
        {
            var meta = _manager.GetFileMetadata(this.FullPath);

            return(meta);
        }