CodePaste Logo
New Snippet New Snippet Recent Snippets Recent Snippets My Snippets My Snippets Web Code Search Snippets Search
Sign inor Register
Language: C#

MessengerExtensions

226 Views
Copy Code Show/Hide Line Numbers
   /// <summary>
   /// Summary description for MvvmLightExtensionsFixture
   /// </summary>
   [TestClass]
   public class When_Subscribe_is_called_on_SingleSubscriber : MessengerContext
   {
       [TestMethod]
       public void then_message1_is_registered()
       {
           _mock.Verify(c =>c.Register<Message1>(_singleSubscriber, _singleSubscriber.Subscribe));            
       }
 
       public override void Context()
       {
           _messenger.Register(_singleSubscriber);
 
       }
 
   }
 
   [TestClass]
   public class When_Subscribe_is_called_on_class_with_multiple_subscribers : MessengerContext
   {
       [TestMethod]
       public void then_message1_is_registered()
       {
           _mock.Verify(c => c.Register<Message1>(_doubleSubscriber, _doubleSubscriber.Subscribe));            
       }
 
       [TestMethod]
       public void then_message2_is_registered()
       {
           _mock.Verify(c => c.Register<Message2>(_doubleSubscriber, _doubleSubscriber.Subscribe));            
       }
 
       public override void Context()
       {
           _messenger.Register(_doubleSubscriber);
       }
       
   }
 
   public class MessengerContext
   {
       [TestInitialize]
       public void Setup()
       {
           _mock = new Mock<IMessenger>();
           _messenger = _mock.Object;
           _singleSubscriber = new SingleSubscriber();
           Context();
       }
 
       public virtual void Context()
       {
           
       }
 
       protected Mock<IMessenger> _mock;
       protected IMessenger _messenger;
       protected SingleSubscriber _singleSubscriber;
       protected DoubleSubscriber _doubleSubscriber;
 
   }
 
   public class Message1 {}
 
   public class Message2 {}
 
   public class SingleSubscriber
   {
       public void Subscribe(Message1 message)
       {
       }
   }
 
   public class DoubleSubscriber
   {
       public void Subscribe(Message1 message)
       {
       }
 
       public void Subscribe(Message2 message)
       {
       }
   }
 
by Glenn Block
  September 20, 2009 @ 9:57pm

Add a comment


Report Abuse
brought to you by:
West Wind Techologies



If you find this site useful and use it frequently please consider making a donation to support this free service.
Donate