public void SetCommand_OnBarButtonWithBindingNoEventName_ParameterShouldUpdate() { var value = DateTime.Now.Ticks.ToString(); var vmSource = new TestViewModel { Model = new TestModel { StringProperty = value } }; var vmTarget = new TestViewModel(); var control = new UIBarButtonItemEx(); _binding = new Binding <string, string>( vmSource, () => vmSource.Model.StringProperty); control.SetCommand( vmTarget.SetPropertyCommand, _binding); Assert.IsNull(vmTarget.TargetProperty); control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); value += "Test"; vmSource.Model.StringProperty = value; control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); }
public void SetCommand_WithICommandOnBarButtonNoValueNoEventName_ClickEventShouldBeUsed() { var vmTarget = new TestViewModel(); var control = new UIBarButtonItemEx(); control.SetCommand(vmTarget.TestCommandImpl); var castedCommand = (CommandImpl)vmTarget.TestCommandImpl; Assert.IsNull(castedCommand.Parameter); control.PerformEvent(); Assert.AreEqual(TestViewModel.ValueForCommand, castedCommand.Parameter); }
public void SetCommand_OnBarButtonNoValueNoEventName_ClickEventShouldBeUsed() { var value = DateTime.Now.Ticks.ToString(); var vmTarget = new TestViewModel(); vmTarget.Configure(value); var control = new UIBarButtonItemEx(); control.SetCommand(vmTarget.SetPropertyWithoutValueCommand); Assert.IsNull(vmTarget.TargetProperty); control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); }
public void SetCommand_OnBarButtonWithSimpleValue_NoError() { var value = DateTime.Now.Ticks.ToString(); var vmTarget = new TestViewModel(); var control = new UIBarButtonItemEx(); control.SetCommand( "Clicked", vmTarget.SetPropertyCommand, value); Assert.IsNull(vmTarget.TargetProperty); control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); }