コード例 #1
0
        public WallEntrySerializerTest()
        {
            // Инициализация сериализатора для CustomSocket
            _walSerializer = new WalEntrySerializer <CustomSocket>(new CustomSocketSerializer());

            // Заполнение тестовых данных
            _walEntryInsert = new WalEntry <CustomSocket>(CsvDbAction.Insert, _socket.GetHashCode(), _socket);
            _insertString   = $"Insert:::{_socket.GetHashCode()}:::{_socketCsvLine}";
            _walEntryUpdate = new WalEntry <CustomSocket>(CsvDbAction.Update, _socket.GetHashCode(), _socket);
            _updateString   = $"Update:::{_socket.GetHashCode()}:::{_socketCsvLine}";
            _walEntryDelete = new WalEntry <CustomSocket>(CsvDbAction.Delete, _socket.GetHashCode(), _socket);
            _deleteString   = $"Delete:::{_socket.GetHashCode()}:::{_socketCsvLine}";
        }
コード例 #2
0
        /// <summary>Конструктор репозитория</summary>
        /// <param name="options">Опции репозитория</param>
        /// <param name="serializer">Расширение данного типа</param>
        /// <param name="parser">Парсер данного типа</param>
        public CsvRepository(ICsvRecordSerializer <T> serializer, CsvRecordParser <T> parser,
                             CsvRepositoryOptions options)
        {
            _recordSerializer = serializer;
            _walSerializer    = new WalEntrySerializer <T>(serializer);
            _walWriter        = new WalWriter(options.WalFileName);
            _parser           = parser;
            _options          = options;

            // Проверка существования CSV файла
            if (!File.Exists(_options.CsvFileName))
            {
                throw new FileNotFoundException($"Файл {_options.CsvFileName} не найден");
            }

            // Запустить записыватель
            _walWriter.Run();
        }