public void removeAllMediators_removes_all_mediators_from_manager() { SupportView mediatedItem1 = new SupportView(); SupportView mediatedItem2 = new SupportView(); IMediatorMapping mapping1 = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(CallbackMediator)); IMediatorMapping mapping2 = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportContainer) }), typeof(ViewInjectedAsRequestedMediator)); injector.Map <IMediatorManager> ().ToValue(manager.Object); factory = new MediatorFactory(injector); factory.CreateMediators(mediatedItem1, typeof(SupportView), new List <IMediatorMapping> { mapping1, mapping2 }); factory.CreateMediators(mediatedItem2, typeof(SupportView), new List <IMediatorMapping> { mapping1, mapping2 }); factory.RemoveAllMediators(); manager.Verify(_manager => _manager.RemoveMediator( It.IsAny <CallbackMediator>(), It.Is <object>(arg2 => arg2 == mediatedItem1), It.Is <IMediatorMapping>(arg3 => arg3 == mapping1)), Times.Once); manager.Verify(_manager => _manager.RemoveMediator( It.IsAny <ViewInjectedAsRequestedMediator>(), It.Is <object>(arg2 => arg2 == mediatedItem1), It.Is <IMediatorMapping>(arg3 => arg3 == mapping2)), Times.Once); manager.Verify(_manager => _manager.RemoveMediator( It.IsAny <CallbackMediator>(), It.Is <object>(arg2 => arg2 == mediatedItem2), It.Is <IMediatorMapping>(arg3 => arg3 == mapping1)), Times.Once); manager.Verify(_manager => _manager.RemoveMediator( It.IsAny <ViewInjectedAsRequestedMediator>(), It.Is <object>(arg2 => arg2 == mediatedItem2), It.Is <IMediatorMapping>(arg3 => arg3 == mapping2)), Times.Once); }
public void creating_mediator_gives_mediator_to_mediator_manager() { SupportView mediatedItem = new SupportView(); IMediatorMapping mapping = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(CallbackMediator)); injector.Map <IMediatorManager> ().ToValue(manager.Object); factory = new MediatorFactory(injector); factory.CreateMediators(mediatedItem, typeof(SupportView), new List <IMediatorMapping> { mapping }); factory.CreateMediators(mediatedItem, typeof(SupportView), new List <IMediatorMapping> { mapping }); manager.Verify(_manager => _manager.AddMediator(It.IsAny <CallbackMediator>(), It.Is <SupportView>(arg2 => arg2 == mediatedItem), It.Is <IMediatorMapping>(arg3 => arg3 == mapping)), Times.Once); }
public void removeAllMediators_removes_all_mediators_from_manager() { SupportView mediatedItem1 = new SupportView(); SupportView mediatedItem2 = new SupportView(); IMediatorMapping mapping1 = new MediatorMapping(CreateTypeFilter(new Type[1]{typeof(SupportView)}), typeof(CallbackMediator)); IMediatorMapping mapping2 = new MediatorMapping(CreateTypeFilter(new Type[1]{typeof(SupportContainer)}), typeof(ViewInjectedAsRequestedMediator)); injector.Map<IMediatorManager> ().ToValue (manager.Object); factory = new MediatorFactory (injector); factory.CreateMediators (mediatedItem1, typeof(SupportView), new List<IMediatorMapping>{ mapping1, mapping2 }); factory.CreateMediators (mediatedItem2, typeof(SupportView), new List<IMediatorMapping>{ mapping1, mapping2 }); factory.RemoveAllMediators(); manager.Verify(_manager=>_manager.RemoveMediator( It.IsAny<CallbackMediator>(), It.Is<object>(arg2=>arg2==mediatedItem1), It.Is<IMediatorMapping>(arg3=>arg3==mapping1)), Times.Once); manager.Verify(_manager=>_manager.RemoveMediator( It.IsAny<ViewInjectedAsRequestedMediator>(), It.Is<object>(arg2=>arg2==mediatedItem1), It.Is<IMediatorMapping>(arg3=>arg3==mapping2)), Times.Once); manager.Verify(_manager=>_manager.RemoveMediator( It.IsAny<CallbackMediator>(), It.Is<object>(arg2=>arg2==mediatedItem2), It.Is<IMediatorMapping>(arg3=>arg3==mapping1)), Times.Once); manager.Verify(_manager=>_manager.RemoveMediator( It.IsAny<ViewInjectedAsRequestedMediator>(), It.Is<object>(arg2=>arg2==mediatedItem2), It.Is<IMediatorMapping>(arg3=>arg3==mapping2)), Times.Once); }
public void removeMediator_removes_mediator_from_manager() { SupportView mediatedItem = new SupportView(); IMediatorMapping mapping = new MediatorMapping(CreateTypeFilter(new Type[1]{typeof(SupportView)}), typeof(CallbackMediator)); injector.Map<IMediatorManager> ().ToValue (manager.Object); factory = new MediatorFactory(injector); factory.CreateMediators(mediatedItem, typeof(SupportView), new List<IMediatorMapping> {mapping}); factory.RemoveMediators(mediatedItem); factory.RemoveMediators(mediatedItem); manager.Verify (_manager => _manager.RemoveMediator (It.IsAny<CallbackMediator> (), It.Is<object> (arg2 => arg2 == mediatedItem), It.Is<IMediatorMapping> (arg3 => arg3 == mapping)), Times.Once); }
public void Mediator_Is_Created() { IMediatorMapping mapping = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(CallbackMediator)); object mediator = factory.CreateMediators(new SupportView(), typeof(SupportView), new List <IMediatorMapping> { mapping })[0]; Assert.That(mediator, Is.InstanceOf(typeof(CallbackMediator))); }