using System.Windows; using Caliburn.Events.Brokering; using MbUnit.Framework; namespace Tests.Caliburn.The_MarkupExtension_for { [TestFixture] public class publishing_an_event { [Test] public void defaults_to_providing_a_Publication_based_on_event_name() { string eventName = "event://test/event"; PublishExtension extension = new PublishExtension(eventName); Publication publication = extension.ProvideValue(null) as Publication; Assert.IsNotNull(publication); Assert.AreEqual(eventName, publication.EventName); Assert.IsFalse(publication.IsAsync); Assert.AreEqual(RoutingStrategy.Bubble, publication.Strategy); } [Test] public void can_provide_a_Publication_based_on_various_properties() { string eventName = "event://test/event"; PublishExtension extension = new PublishExtension(); extension.EventName = eventName; extension.IsAsync = true; extension.Strategy = RoutingStrategy.Tunnel; Publication publication = extension.ProvideValue(null) as Publication; Assert.IsNotNull(publication); Assert.AreEqual(eventName, publication.EventName); Assert.IsTrue(publication.IsAsync); Assert.AreEqual(RoutingStrategy.Tunnel, publication.Strategy); } } }