public void SetCommand_OnCheckBoxWithBindingNoEventName_ParameterShouldUpdate()
        {
            var value = DateTime.Now.Ticks.ToString();

            var vmSource = new TestViewModel
            {
                Model = new TestModel
                {
                    MyProperty = value
                }
            };

            var vmTarget = new TestViewModel();

            var checkBox = new CheckBox(Application.Context);

            _binding = new Binding <string, string>(
                vmSource,
                () => vmSource.Model.MyProperty);

            checkBox.SetCommand(
                vmTarget.SetPropertyCommand,
                _binding);

            Assert.IsNull(vmTarget.TargetProperty);
            checkBox.PerformClick();
            Assert.AreEqual(value, vmTarget.TargetProperty);

            value += "Test";
            vmSource.Model.MyProperty = value;
            checkBox.PerformClick();
            Assert.AreEqual(value, vmTarget.TargetProperty);
        }
        public void SetCommand_WithICommandOnCheckBoxNoValueNoEventName_ClickEventShouldBeUsed()
        {
            var vmTarget = new TestViewModel();
            var checkBox = new CheckBox(Application.Context);

            checkBox.SetCommand(vmTarget.TestCommandImpl);

            var castedCommand = (CommandImpl)vmTarget.TestCommandImpl;

            Assert.IsNull(castedCommand.Parameter);
            checkBox.PerformClick();
            Assert.AreEqual(TestViewModel.ValueForCommand, castedCommand.Parameter);
        }
        public void SetCommand_WithICommandOnCheckBoxNoValue_NoError()
        {
            var vmTarget = new TestViewModel();
            var checkBox = new CheckBox(Application.Context);

            checkBox.SetCommand <CompoundButton.CheckedChangeEventArgs>("CheckedChange", vmTarget.TestCommandImpl);

            var castedCommand = (CommandImpl)vmTarget.TestCommandImpl;

            Assert.IsNull(castedCommand.Parameter);
            checkBox.PerformClick();
            Assert.AreEqual(TestViewModel.ValueForCommand, castedCommand.Parameter);
        }
        public void SetCommand_OnCheckBoxWithSimpleValueNoEventName_ClickEventShouldBeUsed()
        {
            var value    = DateTime.Now.Ticks.ToString();
            var vmTarget = new TestViewModel();

            var checkBox = new CheckBox(Application.Context);

            checkBox.SetCommand(
                vmTarget.SetPropertyCommand,
                value);

            Assert.IsNull(vmTarget.TargetProperty);
            checkBox.PerformClick();
            Assert.AreEqual(value, vmTarget.TargetProperty);
        }
        public void SetCommand_OnCheckBoxWithSimpleValue_NoError()
        {
            var value    = DateTime.Now.Ticks.ToString();
            var vmTarget = new TestViewModel();

            var checkBox = new CheckBox(Application.Context);

            checkBox.SetCommand <string, CompoundButton.CheckedChangeEventArgs>(
                "CheckedChange",
                vmTarget.SetPropertyCommand,
                value);

            Assert.IsNull(vmTarget.TargetProperty);
            checkBox.PerformClick();
            Assert.AreEqual(value, vmTarget.TargetProperty);
        }
Example #6
0
        public void SetCommand_WithICommandOnCheckBoxNoValueNoEventName_ClickEventShouldBeUsed()
        {
            var vmTarget = new TestViewModel();
            var checkBox = new CheckBox(Application.Context);

            checkBox.SetCommand<CompoundButton.CheckedChangeEventArgs>(vmTarget.TestCommandImpl);

            var castedCommand = (CommandImpl)vmTarget.TestCommandImpl;

            Assert.IsNull(castedCommand.Parameter);
            checkBox.PerformClick();
            Assert.AreEqual(TestViewModel.ValueForCommand, castedCommand.Parameter);
        }
Example #7
0
        public void SetCommand_OnCheckBoxWithSimpleValueNoEventName_ClickEventShouldBeUsed()
        {
            var value = DateTime.Now.Ticks.ToString();
            var vmTarget = new TestViewModel();

            var checkBox = new CheckBox(Application.Context);

            checkBox.SetCommand<string, CompoundButton.CheckedChangeEventArgs>(
                vmTarget.SetPropertyCommand,
                value);

            Assert.IsNull(vmTarget.TargetProperty);
            checkBox.PerformClick();
            Assert.AreEqual(value, vmTarget.TargetProperty);
        }
Example #8
0
        public void SetCommand_OnCheckBoxWithBindingNoEventName_ParameterShouldUpdate()
        {
            var value = DateTime.Now.Ticks.ToString();

            var vmSource = new TestViewModel
            {
                Model = new TestModel
                {
                    MyProperty = value
                }
            };

            var vmTarget = new TestViewModel();

            var checkBox = new CheckBox(Application.Context);

            var binding = new Binding<string, string>(
                vmSource,
                () => vmSource.Model.MyProperty);

            checkBox.SetCommand<string, CompoundButton.CheckedChangeEventArgs>(
                vmTarget.SetPropertyCommand,
                binding);

            Assert.IsNull(vmTarget.TargetProperty);
            checkBox.PerformClick();
            Assert.AreEqual(value, vmTarget.TargetProperty);

            value += "Test";
            vmSource.Model.MyProperty = value;
            checkBox.PerformClick();
            Assert.AreEqual(value, vmTarget.TargetProperty);
        }
Example #9
0
        public void SetCommand_OnCheckBoxNoValue_NoError()
        {
            var value = DateTime.Now.Ticks.ToString();
            var vmTarget = new TestViewModel();
            vmTarget.Configure(value);

            var checkBox = new CheckBox(Application.Context);

            checkBox.SetCommand<CompoundButton.CheckedChangeEventArgs>(
                "CheckedChange",
                vmTarget.SetPropertyWithoutValueCommand);

            Assert.IsNull(vmTarget.TargetProperty);
            checkBox.PerformClick();
            Assert.AreEqual(value, vmTarget.TargetProperty);
        }