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); }
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); }