Exemple #1
0
 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]);
         }
     }
 }
Exemple #2
0
        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];