Inheritance: Microsoft.WindowsAzure.Storage.Table.TableEntity
コード例 #1
0
 public void ChatMessageTest_Constructor_NullParams()
 {
     var msg = new ChatMessage(new DateTime(), null, null, null);
     Assert.AreEqual(msg.Speaker, "");
     Assert.AreEqual(msg.Text, "");
     Assert.AreEqual(msg.MessageTimeStamp, new DateTime());
 }
コード例 #2
0
 public void ChatMessageTest_Constructor_Default()
 {
     var msg = new ChatMessage();
     Assert.AreEqual(msg.Speaker, "");
     Assert.AreEqual(msg.Text, "");
     Assert.AreEqual(msg.MessageTimeStamp, new DateTime());
 }
コード例 #3
0
        public void CommLayerTest_Constructor_ValidParams()
        {
            // Create objects
            var mockServer = new Mock<IServerMock>();
            var commLayer = new CommLayerMock(mockServer.Object);

            // Subscribe to CommHandler
            bool raised = false;
            commLayer.CommHandler += delegate { raised = true; };

            // Raise MessageSent event in Server
            var msg = new ChatMessage(new DateTime(2012, 12, 18), "Llamautomatic", "This is a test message", "all");
            mockServer.Raise(m => m.MessageSent += null, new ChatEventArgs(msg));

            // Check if CommHandler was successfully raised in response
            Assert.IsTrue(raised);
        }
コード例 #4
0
 public void ChatMessageTest_ToString()
 {
     var msg = new ChatMessage(new DateTime(2012, 12, 11, 10, 9, 8), "TestSpeaker", "This is a test string", "all");
     Assert.AreEqual(msg.ToString(), "[12/11/2012 10:09:08 AM] [all] TestSpeaker: This is a test string");
 }
コード例 #5
0
ファイル: CommLayer.cs プロジェクト: Pure-Battlefield/gswat
        private void RConnPacketHandler(Packet args)
        {
            if (args.IsRequest)
            {
                var formattedPacket = RecognizedPacket.FormatRequestPacket(args);

                if (MessageEvents.ContainsKey(args.FirstWord) && MessageEvents[args.FirstWord] != null)
                {
                    MessageEvents[args.FirstWord](this, formattedPacket);
                }
            }
            else if(args.IsResponse && RequestCallbacks.ContainsKey(args.SequenceNumber))
            {
                Packet request = RequestPackets[args.SequenceNumber];
                RequestCallbacks[args.SequenceNumber](this, RecognizedPacket.FormatResponsePacket(request, args));
            }

            //Version .1 we only want player.onChat, admin.say, and admin.yell
            if (OnChat.IsOnChat(args))
            {
                var chat = new OnChat(args);
                var message = new ChatMessage
                    {
                        MessageTimeStamp = DateTime.UtcNow,
                        Text = chat.Text,
                        Speaker = chat.SoldierName,
                        MessageType = chat.TargetPlayers.ToString()
                    };

                var chatArgs = new ChatEventArgs(message);
                CommHandler(this, chatArgs);
            }
        }
コード例 #6
0
ファイル: Core.cs プロジェクト: Pure-Battlefield/gswat
 /// <summary>
 /// Enqueues a message into both Table Store and the current cached queue
 /// </summary>
 /// <param name="msg"></param>
 private void EnqueueMessage(ChatMessage msg)
 {
     try
     {
         var insertOp = TableOperation.Insert(msg);
         MessageTable.Execute(insertOp);
         MessageQueue.Enqueue(msg);
         if (MessageQueue.Count > 100)
         {
             MessageQueue.Dequeue();
         }
     }
     catch (Exception e)
     {
         Log(System.Reflection.MethodBase.GetCurrentMethod().Name, e.Message);
     }
 }
コード例 #7
0
 /// <summary>
 ///     Constructs a new ChatEventArgs object with a predefined ChatMessage
 /// </summary>
 /// <param name="msg">ChatMessage to pass along</param>
 public ChatEventArgs(ChatMessage msg)
 {
     ServerMessage = msg;
 }