public void InvokeProcessMessage(MessageListenerEventArgs mle)
        {
            if (MessageHasPairedValues(mle))
            {
                AuctionEvent auctionEvent = AuctionEvent.From(mle.Message.Body);

                switch (auctionEvent.Type)
                {
                    case "CLOSE":
                        _auctionEventListener.AuctionClosed();
                        break;
                    case "PRICE":
                        _auctionEventListener.CurrentPrice(auctionEvent.CurrentPrice, auctionEvent.Increment,
                                                           auctionEvent.IsFrom(_sniperId));
                        break;
                    default:
                        string messageDetail = string.Format("Message type: {0} not handled, from message {1}",
                                                             auctionEvent.Type, mle.Message.Body);
                        throw new Exception(messageDetail);
                }
            }
            else
            {
                if (mle.Message.Body.Contains(SharedConstants.STATUS_JOINING))
                {
                    _auctionEventListener.JoiningAuction();
                }
            }
        }
        public void NotifiesAuctionClosedWhenCloseMessageReceived()
        {
            _mockListener.AuctionClosed();

            _mocks.ReplayAll();

            var message = new Message(UNUSED_CHAT) {Body = "SOLVersion: 1.1; Event: CLOSE;"};
            var mlea = new MessageListenerEventArgs(message);
            _translator.InvokeProcessMessage(mlea);
        }
Ejemplo n.º 3
0
        public void SendMessage(string messageBody)
        {
            Message      = new Message(this);
            Message.Body = messageBody;

            foreach (IMessageListener messageListener in MessageListeners)
            {
                var mle = new MessageListenerEventArgs(Message);
                messageListener.InvokeProcessMessage(mle);
            }
        }
        public void NotifiesBidDetailsWhenCurrentPriceMessageReceivedFromOtherBidder()
        {
            _mockListener.CurrentPrice(192, 7, Enums.PriceSource.FromOtherBidder);

            _mocks.ReplayAll();

            var message = new Message(UNUSED_CHAT)
                              {
                                  Body =
                                      "SOLVersion: 1.1; Event: PRICE; CurrentPrice: 192; Increment: 7; Bidder: Someone else;"
                              };
            var mlea = new MessageListenerEventArgs(message);
            _translator.InvokeProcessMessage(mlea);
        }
        public void NotifiesBidDetailsWhenCurrentPriceMessageReceivedFromSniper()
        {
            _mockListener.CurrentPrice(234, 5, Enums.PriceSource.FromSniper);

            _mocks.ReplayAll();

            var message = new Message(UNUSED_CHAT)
                              {
                                  Body =
                                      string.Format(
                                      "SOLVersion: 1.1; Event: PRICE; CurrentPrice: 234; Increment: 5; Bidder: {0};",
                                      SNIPER_ID)
                              };
            var mlea = new MessageListenerEventArgs(message);
            _translator.InvokeProcessMessage(mlea);
        }
 private bool MessageHasPairedValues(MessageListenerEventArgs mle)
 {
     return mle.Message.Body.Contains(";");
 }
 public void InvokeProcessMessage(MessageListenerEventArgs mle)
 {
     IMessageListenerEventHandler handler = ProcessMessage;
     if (handler != null) handler(this, mle);
 }