示例#1
0
        /// <summary>
        /// ���������� ���������� �����
        /// </summary>
        /// <param name="filePath">���� � ����� ��� ������ ����������</param>
        /// <returns>���������� �����</returns>
        public FileMetadata GetFileMetadata(string filePath)
        {
            var fileInfo = new FileInfo(filePath);
            var meta = new FileMetadata
            {
                ByteSize = fileInfo.Length,
                LastModified = fileInfo.LastWriteTimeUtc
            };

            return meta;
        }
示例#2
0
        public void InitializeTest()
        {
            // создаём тестовый набор данных:
            var file1Path = @"C:\some_folder\some_file1.csv";
            var file1Meta = new FileMetadata { ByteSize = _file1ByteSize, LastModified = _file1LastModified };

            var filesRepo = new SortedList<string, FileMetadata>
            {
                {file1Path, file1Meta}
            };

            // делаем иньекцию тестового менеджера файловой системы
            _injectedManager = new MockFileSystemManager(filesRepo);
            _file1 = new SyncFile(file1Path, _injectedManager);
        }
示例#3
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
        }