public Message(ChatHistoryMessage message) { Id = message._id; RoomId = message.rid; MessageContent = message.msg; Timestamp = Convert.ToDateTime(message.ts); User = new User { Id = message.u._id, Username = message.u.username }; Groupable = message.groupable; UpdatedAt = Convert.ToDateTime(message._updatedAt); if (message.t == "uj") { UserJoined = true; } else { UserJoined = false; } if (message.file != null) { File = new MessageFile(message.file); } if (message.attachments != null) { Attachments = new Attachment[message.attachments.Length]; for (int i = 0; i < Attachments.Length; i++) { Attachments[i] = new Attachment(message.attachments[i]); } } }
public void TestAddDelete() { // 数据存储在文件中,每次运行只测试新加消息。 using ChatHistory ch = new ChatHistory(".", 0, -1, -1); List <long> addedIds = new List <long>(); for (int i = 0; i < 10; ++i) { addedIds.Add(ch.AddMessage("" + i, "" + i)); } List <long> deletedIds = new List <long>(); foreach (long id in addedIds) { if (id % 2 == 0) { continue; } ch.DeleteMessage(id); deletedIds.Add(id); } for (int i = 0; i < addedIds.Count; ++i) { long id = addedIds[i]; List <ChatHistoryMessage> msgs = ch.ReadMessage(id, 1); Assert.IsTrue(msgs.Count == 1); ChatHistoryMessage msg = msgs[^ 1];