public void RunAllUnprocessors_Runs_All_Unprocessors_For_All_Views() { TrackingProcessor trackingProcessor2 = new TrackingProcessor(); SupportView view = new SupportView(); ObjectWhichExtendsSupportView viewA = new ObjectWhichExtendsSupportView(); ViewProcessorMapping mapping = new ViewProcessorMapping(new TypeMatcher().AllOf(view.GetType()).CreateTypeFilter(), trackingProcessor); ViewProcessorMapping mappingA = new ViewProcessorMapping(new TypeMatcher().AllOf(viewA.GetType()).CreateTypeFilter(), trackingProcessor2); viewProcessorFactory.RunProcessors(view, view.GetType(), new ViewProcessorMapping[1] { mapping }); viewProcessorFactory.RunProcessors(viewA, viewA.GetType(), new ViewProcessorMapping[2] { mapping, mappingA }); viewProcessorFactory.RunAllUnprocessors(); Assert.That(trackingProcessor.UnprocessedViews, Is.EquivalentTo(new object[2] { view, viewA }), "trackingProcessor unprocessed all views"); Assert.That(trackingProcessor2.UnprocessedViews, Is.EquivalentTo(new object[1] { viewA }), "trackingProcessor2 unprocessed all views"); }
protected override void OnInitializeOriginalView() { base.OnInitializeOriginalView(); OriginalView.SetSingleLine(true); if (Build.VERSION.SdkInt < BuildVersionCodes.JellyBean) { OriginalView.SetBackgroundDrawable(gradientDrawable); } else { OriginalView.SetBackground(gradientDrawable); } OriginalView.SetPadding((int)SupportView.PaddingInside, 0, (int)SupportView.PaddingInside, 0); OriginalView.TextSize = (float)SupportView.FontSize; OriginalView.SetTextColor(SupportView.TextColor.ToAndroid()); OriginalView.TextAlignment = Android.Views.TextAlignment.Center; OriginalView.Typeface = SpecAndroid.CreateTypeface(Context, SupportView.FontFamily.Split('#')[0]); OriginalView.Hint = SupportView.Placeholder; OriginalView.Focusable = true; OriginalView.FocusableInTouchMode = true; OriginalView.RequestFocusFromTouch(); OriginalView.FocusChange += OriginalView_FocusChange; OriginalView.TextChanged += OriginalView_TextChanged; OriginalView.InitlizeReturnKey(SupportView.ReturnType); OriginalView.EditorAction += (sender, ev) => { SupportView.SendOnReturnKeyClicked(); }; }
protected virtual void Wrapper_EditingChanged(object sender, EventArgs e) { var textFieldInput = sender as UITextField; SupportView.SendOnTextChanged(textFieldInput.Text); RunFilterAutocomplete(textFieldInput.Text); }
public void hook_receives_mediator_and_mediatedItem() { SupportView mediatedItem = new SupportView(); object injectedMediator = null; object injectedView = null; injector.Map(typeof(Action <MediatorHook>), "callback").ToValue((Action <MediatorHook>) delegate(MediatorHook hook) { injectedMediator = hook.mediator; injectedView = hook.mediatedItem; }); MediatorMapping mapping = new MediatorMapping(CreateTypeFilter( new Type[1] { typeof(SupportView) }), typeof(ViewInjectedMediator)); mapping.WithHooks(typeof(MediatorHook)); factory.CreateMediators(mediatedItem, typeof(SupportView), new List <IMediatorMapping> { mapping }); Assert.That(injectedMediator, Is.InstanceOf <ViewInjectedMediator>()); Assert.That(injectedView, Is.EqualTo(mediatedItem)); }
public void Mediator_Lifecycle_Methods_Are_Invoked() { List <string> expected = new List <string> { "preInitialize", "initialize", "postInitialize", "preDestroy", "destroy", "postDestroy" }; List <string> actual = new List <string>(); foreach (string phase in expected) { Action <string> callback = delegate(string ph) { actual.Add(ph); }; injector.Map(typeof(Action <string>), phase + "Callback").ToValue(callback); } SupportView item = new SupportView(); object mediator = injector.InstantiateUnmapped(typeof(LifecycleReportingMediator)); IMediatorMapping mapping = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(LifecycleReportingMediator)); manager.AddMediator(mediator, item, mapping); manager.RemoveMediator(mediator, item, mapping); Assert.That(actual, Is.EquivalentTo(expected)); }
public void Setup() { injector = new RobotlegsInjector(); manager = new MediatorManager(); container = new SupportView(); container.AddThisView(); factory = new Mock <IMediatorFactory> (); }
public void AddViewListener_With_Basic_View_Component_Throws_Error() { SupportView basicView = new SupportView(); instance.viewComponent = basicView; instance.Try_addViewListener(EVENT_TYPE, CALLBACK); logger.Verify(_logger => _logger.Warn(It.IsAny <String>(), It.Is <object>(mediator => mediator == instance), It.Is <object>(vc => vc == basicView)), Times.Once); }
public override void IF_ItemSelectd(int position) { if (!SupportView.IsAllowMultiSelect) { base.IF_ItemSelectd(position); } SupportView.SendOnItemSelected(position); }
public void Setup() { injector = new RobotlegsInjector(); instance = new ViewProcessorMap(new ViewProcessorFactory(injector)); mediatorWatcher = new MediatorWatcher(); injector.Map(typeof(MediatorWatcher)).ToValue(mediatorWatcher); matchingView = new SupportView(); }
public void adding_fallback_should_be_found_as_parent() { object fallback = new object(); registry.SetFallbackContainer(fallback); object newView = new SupportView(); ContainerBinding parentBinding = registry.FindParentBinding(newView); Assert.That(parentBinding.Container, Is.EqualTo(fallback)); }
public void no_mediator_is_created_if_guard_prevents_it() { mediatorMap.Map(typeof(SupportView)).ToMediator(typeof(ExampleMediatorWatcher)).WithGuards(typeof(OnlyIfViewHasChildrenGuard)); SupportView view = new SupportView(); mediatorMap.Mediate(view); List <string> expectedNotifications = new List <string>(); Assert.That(expectedNotifications, Is.EqualTo(mediatorWatcher.Notifications).AsCollection); }
public void mediatedItem_is_injected_as_exact_type_into_mediator() { SupportView expected = new SupportView(); IMediatorMapping mapping = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(ViewInjectedMediator)); ViewInjectedMediator mediator = factory.CreateMediators(expected, typeof(SupportView), new List <IMediatorMapping> { mapping })[0] as ViewInjectedMediator; Assert.That(mediator.mediatedItem, Is.EqualTo(expected)); }
public void handler_is_called() { SupportView expected = new SupportView(); object actual = null; viewManager.AddContainer(container); viewManager.AddViewHandler(new CallbackViewHandler(delegate(object view, Type type) { actual = view; })); container.AddChild(expected); Assert.That(actual, Is.EqualTo(expected)); }
public void Setup() { injector = new RobotlegsInjector(); injector.Map(typeof(RobotlegsInjector)).ToValue(injector); viewProcessorMap = new ViewProcessorMap(new ViewProcessorFactory(injector)); trackingProcessor = new TrackingProcessor(); trackingProcessor2 = new TrackingProcessor(); matchingView = new SupportView(); nonMatchingView = new ObjectB(); guardObject = new GuardObject(); matchingView2 = new SupportViewWithWidthAndHeight(); }
public void Mediator_Is_Given_View() { SupportView expected = new SupportView(); IMediatorMapping mapping = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(LifecycleReportingMediator)); LifecycleReportingMediator mediator = injector.InstantiateUnmapped(typeof(LifecycleReportingMediator)) as LifecycleReportingMediator; manager.AddMediator(mediator, expected, mapping); Assert.That(mediator.view, Is.EqualTo(expected)); }
public void second_view_container_is_ignored() { IContextView actual = null; SupportView secondView = new SupportView(); context.Install <ContextViewExtension>().Configure(new ContextView(view), new ContextView(secondView)); context.WhenInitializing((Action) delegate() { actual = context.injector.GetInstance <IContextView>(); }); context.Initialize(); Assert.That(actual.view, Is.EqualTo(view)); }
protected virtual void OriginalView_TextChanged(object sender, Android.Text.TextChangedEventArgs e) { //dm cam sua cho nay if (FlagSetText) { FlagSetText = false; } else { SupportView.SendOnTextChanged(e.Text.ToString()); } }
public void Setup() { root = new SupportView(); parentView = new SupportView(); childView = new SupportView(); parentContext = new Context() .Install(typeof(StageSyncExtension)) .Install(typeof(ContextViewExtension)); childContext = new Context() .Install(typeof(StageSyncExtension)) .Install(typeof(ContextViewExtension)); }
public void getMediator() { SupportView mediatedItem = new SupportView(); IMediatorMapping mapping = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(CallbackMediator)); factory.CreateMediators(mediatedItem, typeof(SupportView), new List <IMediatorMapping> { mapping }); Assert.That(factory.GetMediator(mediatedItem, mapping), Is.Not.Null); }
public void Create_Mediator_Instantiates_Mediator_For_View_When_Mapped() { instance.Map(typeof(SupportView)).ToProcess(new MediatorCreator(typeof(SupportMediator))); SupportView objA = new SupportView(); instance.HandleView(objA, objA.GetType()); objA.AddThisView(); string[] expectedNotifications = new string[1] { "SupportMediator" }; Assert.That(expectedNotifications, Is.EquivalentTo(mediatorWatcher.Notifications)); }
public void handler_is_not_called_after_container_removal() { int callCount = 0; viewManager.AddContainer(container); viewManager.AddViewHandler(new CallbackViewHandler(delegate(object view, Type type) { callCount++; })); viewManager.RemoveContainer(container); SupportView supportView = new SupportView(); container.AddChild(supportView); Assert.That(callCount, Is.EqualTo(0)); }
public void only_one_mediator_created_if_identical_mapping_duplicated() { mediatorMap.Map(typeof(SupportView)).ToMediator(typeof(ExampleMediatorWatcher)).WithGuards(typeof(HappyGuard)).WithHooks(typeof(AddChildHook)); mediatorMap.Map(typeof(SupportView)).ToMediator(typeof(ExampleMediatorWatcher)).WithGuards(typeof(HappyGuard)).WithHooks(typeof(AddChildHook)); SupportView view = new SupportView(); mediatorMap.Mediate(view); List <string> expectedNotifications = new List <string> { "ExampleMediatorWatcher" }; Assert.That(expectedNotifications, Is.EqualTo(mediatorWatcher.Notifications).AsCollection); Assert.That(view.NumChildren, Is.EqualTo(1)); }
public void Runs_Destroy_On_Created_Mediator_When_Unprocess_Runs() { instance.Map(typeof(SupportView)).ToProcess(new MediatorCreator(typeof(SupportMediator))); SupportView view = new SupportView(); instance.Process(view); instance.Unprocess(view); List <string> expectedNotifications = new List <string> { "SupportMediator", "SupportMediator destroy" }; Assert.That(expectedNotifications, Is.EquivalentTo(mediatorWatcher.Notifications)); }
public void Mediator_For_UIComponent_Is_Initialized() { SupportView view = new SupportView(); IMediatorMapping mapping = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(LifecycleReportingMediator)); LifecycleReportingMediator mediator = injector.InstantiateUnmapped(typeof(LifecycleReportingMediator)) as LifecycleReportingMediator; factory.Setup(f => f.GetMediator(It.IsAny <object> (), It.IsAny <IMediatorMapping>())).Returns(mediator); Assert.That(mediator.initialized, Is.False); manager.AddMediator(mediator, view, mapping); container.AddChild(view); Assert.That(mediator.initialized, Is.True); }
public void unmediate_cleans_up_mediators() { mediatorMap.Map(typeof(SupportView)).ToMediator(typeof(ExampleMediatorWatcher)); SupportView view = new SupportView(); mediatorMap.Mediate(view); mediatorMap.Unmediate(view); List <string> expectedNotifications = new List <string> { "ExampleMediatorWatcher", "ExampleMediatorWatcher destroy" }; Assert.That(expectedNotifications, Is.EqualTo(mediatorWatcher.Notifications).AsCollection); }
public void expected_number_of_mediators_are_returned_for_mappings_and_mediatedItem() { SupportView mediatedItem = new SupportView(); MediatorMapping mapping1 = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportView) }), typeof(ViewInjectedMediator)); MediatorMapping mapping2 = new MediatorMapping(CreateTypeFilter(new Type[1] { typeof(SupportContainer) }), typeof(ViewInjectedAsRequestedMediator)); List <object> mediators = factory.CreateMediators(mediatedItem, typeof(SupportView), new List <IMediatorMapping> { mapping1, mapping2 }); Assert.That(mediators.Count, Is.EqualTo(2)); }
public override void OnInitializeTextField() { base.OnInitializeTextField(); OnInitializePlaceHolderTextField(); textField.LeftView = new UIView(new CGRect(0, 0, SupportView.PaddingInside, 0)); textField.LeftViewMode = UITextFieldViewMode.Always; textField.EditingChanged += Wrapper_EditingChanged;; textField.ShouldEndEditing += Wrapper_ShouldEndEditing; textField.ShouldBeginEditing += Wrapper_ShouldBeginEditing; textField.ShouldReturn += (textField) => { SupportView.SendOnReturnKeyClicked(); return(true); }; textField.InitlizeReturnKey(SupportView.ReturnType); }
public void Multiple_Depths_Of_Children_Only_Inherit_The_First_Parents_Injector() { AddRootToStage(); parentContext .Install(typeof(TestSupportViewStateWatcherExtension)) .Install(typeof(SupportParentFinderExtension)) .Install(typeof(ModularityExtension)) .Configure(new ContextView(parentView)); childContext .Install(typeof(TestSupportViewStateWatcherExtension)) .Install(typeof(ModularityExtension)) .Install(typeof(SupportParentFinderExtension)) .Configure(new ContextView(childView)); SupportView anotherChildView = new SupportView(); IContext anotherChildContext = new Context() .Install(typeof(TestSupportViewStateWatcherExtension)) .Install(typeof(StageSyncExtension)) .Install(typeof(ContextViewExtension)) .Install(typeof(ModularityExtension)) .Install(typeof(SupportParentFinderExtension)) .Configure(new ContextView(anotherChildView)); ContainerRegistry cr = new ContainerRegistry(); parentContext.injector.Map(typeof(ContainerRegistry)).ToValue(cr); childContext.injector.Map(typeof(ContainerRegistry)).ToValue(cr); anotherChildContext.injector.Map(typeof(ContainerRegistry)).ToValue(cr); cr.AddContainer(parentView); cr.AddContainer(childView); cr.AddContainer(anotherChildView); root.AddChild(parentView); parentView.AddChild(childView); childView.AddChild(anotherChildView); Assert.That(childContext.injector.parent, Is.EqualTo(parentContext.injector)); Assert.That(anotherChildContext.injector.parent, Is.EqualTo(childContext.injector)); Assert.That(anotherChildContext.injector.parent, Is.Not.EqualTo(parentContext.injector)); }
public override void OnInitializeTextField() { base.OnInitializeTextField(); textField.AttributedPlaceholder = new NSAttributedString(SupportView.Placeholder, font: UIFont.FromName(SupportView.FontFamily, size: (float)SupportView.FontSize)); textField.Placeholder = SupportView.Placeholder; textField.LeftView = new UIView(new CGRect(0, 0, SupportView.PaddingInside, 0)); textField.LeftViewMode = UITextFieldViewMode.Always; textField.EditingChanged += Wrapper_EditingChanged;; textField.ShouldEndEditing += Wrapper_ShouldEndEditing; textField.ShouldBeginEditing += Wrapper_ShouldBeginEditing; textField.ShouldReturn += (textField) => { SupportView.SendOnReturnKeyClicked(); return(true); }; textField.InitlizeReturnKey(SupportView.ReturnType); }
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); }