Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
 public abstract void Clicked(UIBarButtonItemEx barButtonItem);