public void SetCommand_OnBarButtonWithBinding_ParameterShouldUpdate() { var value = DateTime.Now.Ticks.ToString(); var vmSource = new TestViewModel { Model = new TestModel { MyProperty = value } }; var vmTarget = new TestViewModel(); var control = new UIBarButtonItemEx(); _binding = new Binding<string, string>( vmSource, () => vmSource.Model.MyProperty); control.SetCommand( "Clicked", vmTarget.SetPropertyCommand, _binding); Assert.IsNull(vmTarget.TargetProperty); control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); value += "Test"; vmSource.Model.MyProperty = value; control.PerformEvent(); Assert.AreEqual(value, vmTarget.TargetProperty); }
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_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_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); }