public void SerializeDeserializeComplexMessage() { var dtoMsg = new MessageDtoModelV1(ComplexMessage); var json = JsonSerializer.SerializeToString(dtoMsg); var dtoMsg2 = JsonSerializer.DeserializeFromString<MessageDtoModelV1>(json); Assert.AreEqual(dtoMsg.ToMessage(), dtoMsg2.ToMessage()); Assert.AreEqual(ComplexMessage, dtoMsg.ToMessage()); Assert.AreEqual(ComplexMessage, dtoMsg2.ToMessage()); }
static void Copy(string sourceFile, string sourceFormat, string destinationFile, string destinationFormat) { if (String.IsNullOrEmpty(sourceFile)) { throw new ArgumentException(_("sourceFile must not be empty.")); } IMessageBuffer sourceBuffer = null, destinationBuffer = null; try { var sourceBufferType = ParseMessageBufferType(sourceFile, sourceFormat); sourceBuffer = CreateMessageBuffer(sourceFile, sourceBufferType); if (!String.IsNullOrEmpty(destinationFile)) { var destinationBufferType = ParseMessageBufferType(destinationFile, destinationFormat); destinationBuffer = CreateMessageBuffer(destinationFile, destinationBufferType); if (destinationBuffer.Count > 0) { throw new InvalidOperationException( String.Format( _("Destination database {0} must be empty!"), destinationFile ) ); } } if (destinationBuffer == null) { // JSON pipe Console.WriteLine("["); var msgCount = sourceBuffer.Count; var i = 0; foreach (var msg in sourceBuffer) { var dto = new MessageDtoModelV1(msg); var json = JsonSerializer.SerializeToString(dto); if (i++ < msgCount - 1) { Console.WriteLine("{0},", json); } else { Console.WriteLine(json); } } if (destinationBuffer == null) { Console.WriteLine("]"); } } else { foreach (var msg in sourceBuffer) { destinationBuffer.Add(msg); } destinationBuffer.Flush(); } } finally { if (sourceBuffer != null) { sourceBuffer.Dispose(); } if (destinationBuffer != null) { destinationBuffer.Dispose(); } } }
public void SerializeDeserializeOnlyQuoteBug() { var msgWithOnlyQuote = new MessageBuilder(). AppendText("\""). ToMessage(); var dtoMsg = new MessageDtoModelV1(msgWithOnlyQuote); var json = JsonSerializer.SerializeToString(dtoMsg); var dtoMsg2 = JsonSerializer.DeserializeFromString<MessageDtoModelV1>(json); Assert.AreEqual(dtoMsg.ToMessage(), dtoMsg2.ToMessage()); }
public override void Add(MessageModel msg) { if (msg == null) { throw new ArgumentNullException("msg"); } if (MaxCapacity > 0 && MessageCount >= MaxCapacity) { RemoveAt(0); } var dto = new MessageDtoModelV1(msg); var json = JsonSerializer.SerializeToString(dto); using (var cmd = Connection.CreateCommand()) { cmd.CommandText = "INSERT INTO Messages (JSON)" + " VALUES(@json)"; var param = cmd.CreateParameter(); param.ParameterName = "json"; param.Value = json; cmd.Parameters.Add(param); cmd.ExecuteNonQuery(); } MessageCount++; }
public void ToMessageNreBug() { var dtoMsg = new MessageDtoModelV1(); var msg = dtoMsg.ToMessage(); Assert.True(msg.IsEmpty); }