public CsvRepositoryTest() { // Определение пути тестовой директории _testDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "ExpertSystem"); // Создание тестовой директории Directory.CreateDirectory(_testDir); // Определение имени тестового CSV файла _testCsvFileName = Path.Combine(_testDir, "csvTest.csv"); // Определение имени тестового WAL файла _testWalFileName = Path.Combine(_testDir, "walTest.txt"); // Обновление тестовых CSV данных UpdateTestCsvData(); // Создание мока репозитория var serializer = new CustomSocketSerializer(); var parser = new CsvRecordParser <CustomSocket>(serializer); var options = new CsvRepositoryOptions { CsvFileName = _testCsvFileName, WalFileName = _testWalFileName, IdPropertyName = "SocketName" }; _repositoryMock = new CsvRepository <CustomSocket>(serializer, parser, options); // Синхронизируем репозиторий UpdateTestWalData(); _repositoryMock.Sync(); }
private Program(ServerProgramOptions options) : base(options) { var dataPath = Path.Combine(GetThisFileDirectory(), "..", "..", "data", "csvdb"); var socketSerializer = new CustomSocketSerializer(); var socketParser = new CsvRecordParser <CustomSocket>(socketSerializer); var socketOptions = new CsvRepositoryOptions { IdPropertyName = "SocketName", CsvFileName = Path.Combine(dataPath, "socket.csv"), WalFileName = Path.Combine(dataPath, "wal_socket.txt") }; var socketsRepository = new CsvRepository <CustomSocket>(socketSerializer, socketParser, socketOptions).Sync(); var socketService = new SocketService(socketsRepository); var socketGroupSerializer = new SocketGroupSerializer(); var socketGroupParser = new CsvRecordParser <SocketGroup>(socketGroupSerializer); var socketGroupOptions = new CsvRepositoryOptions { IdPropertyName = "GroupName", CsvFileName = Path.Combine(dataPath, "socketGroup.csv"), WalFileName = Path.Combine(dataPath, "wal_socketGroup.txt") }; var socketGroupRepository = new CsvRepository <SocketGroup>(socketGroupSerializer, socketGroupParser, socketGroupOptions).Sync(); var socketGroupService = new GroupService(socketGroupRepository); var socketExchangeOptions = new SocketExchangeOptions { Version = Options.Version, Debug = options.Debug }; var socketExchange = new SocketExchangeImpl(socketService, socketGroupService, socketExchangeOptions); Server = new Grpc.Core.Server { Services = { SocketExchange.BindService(socketExchange) }, Ports = { new ServerPort("localhost", Options.Port, ServerCredentials.Insecure) } }; }