Esempio n. 1
0
        public void CommandGenerateMessages(CommandModel cmd, IChatView chat)
        {
            Trace.Call(cmd, chat);

            var count = 0;

            Int32.TryParse(cmd.Parameter, out count);

            var builder = new MessageBuilder();
            var sender  = new ContactModel("msg-tester", "msg-tester", "test", "test");

            builder.AppendMessage(sender, "time for a messsage generator command so I can test speed and memory usage");
            var text = builder.CreateText(" *formatted text* ");

            text.Bold = true;
            builder.Append(text);
            builder.AppendUrl("https://www.smuxi.org/");

            var msgs = new List <MessageModel>(count);

            for (var i = 0; i < count; i++)
            {
                var msg = builder.ToMessage();
                msgs.Add(msg);
            }

            DateTime start, stop;

            start = DateTime.UtcNow;
            foreach (var msg in msgs)
            {
                chat.AddMessage(msg);
            }
            stop = DateTime.UtcNow;

            builder = new MessageBuilder();
            builder.AppendText(
                "IChatView.AddMessage(): count: {0} took: {1:0} ms avg: {2:0.00} ms",
                count,
                (stop - start).TotalMilliseconds,
                (stop - start).TotalMilliseconds / count
                );
            chat.AddMessage(builder.ToMessage());
        }