/// <summary>Выполнить действие вставки</summary> /// <param name="record">Данные</param> /// <returns>Вставленная в репозиторий запись</returns> public T Insert(T record) { _recordsByName.Add(GetRecordId(record), record.GetHashCode()); _records.Add(record.GetHashCode(), record); _walWriter.Enqueue( _walSerializer.Serialize(new WalEntry <T>(CsvDbAction.Insert, record.GetHashCode(), record)) ); return(record); }
public void Serialize_Insert_isCorrect() { // Arrange var expectedString = _insertString; // Act var actualString = _walSerializer.Serialize(_walEntryInsert); // Assert Assert.Equal(expectedString, actualString); }
public void Insert_isCorrect() { // Arrange var socketToInsert = _testSocket.Clone(); socketToInsert.SocketName = socketToInsert.SocketName + "#"; var expectedWalEntryLine = _walSerializer.Serialize( new WalEntry <CustomSocket>(CsvDbAction.Insert, socketToInsert.GetHashCode(), socketToInsert)); // Act _repositoryMock.Insert(socketToInsert); Thread.Sleep(1500); // Assert Assert.True(_repositoryMock.GetAllRecords().Contains(socketToInsert), "Ожидаемый разъём не найден в репозитории"); Assert.True(File.ReadAllText(_testWalFileName, Encoding.UTF8).Contains(expectedWalEntryLine), "Запись о вставке разъёма не присутствует в WAL файле"); // Clear UpdateTestData(); }