Ejemplo n.º 1
0
        public void ResultCommandExecuteTest()
        {
            CompositeCommand = new CompositeCommandBehavior();
            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command          = new MockCommand(1),
                CommandParameter = 11
            });
            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command          = new MockCommand(2),
                CommandParameter = 12
            });
            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command = new MockCommand(3)
            });

            CompositeCommand.CompositeCommand.Execute(14);
            MockCommand command = CompositeCommand.Commands[0].Command as MockCommand;

            Assert.AreEqual(1, command.CommandExecuteResult);
            Assert.AreEqual(11, command.CommandExecuteParameter);
            command = CompositeCommand.Commands[1].Command as MockCommand;
            Assert.AreEqual(2, command.CommandExecuteResult);
            Assert.AreEqual(12, command.CommandExecuteParameter);
            command = CompositeCommand.Commands[2].Command as MockCommand;
            Assert.AreEqual(3, command.CommandExecuteResult);
            Assert.AreEqual(null, command.CommandExecuteParameter);
        }
Ejemplo n.º 2
0
        public void FindAssociatedObjectPropertyTest()
        {
            MockControl control = new MockControl();

            CompositeCommand = new CompositeCommandBehavior()
            {
                CommandPropertyName = "CustomData"
            };
            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command = new MockCommand(1),
            });
            Interaction.GetBehaviors(control).Add(CompositeCommand);
            Window.Content = control;
            EnqueueShowWindow();
            Assert.AreEqual(CompositeCommand.CompositeCommand, control.GetValue(MockControl.CustomDataProperty));
            CompositeCommand.CommandPropertyName = null;
            Assert.AreEqual(null, control.GetValue(MockControl.CustomDataProperty));
            CompositeCommand.CommandPropertyName = "CustomDataProperty";
            Assert.AreEqual(CompositeCommand.CompositeCommand, control.GetValue(MockControl.CustomDataProperty));
            CompositeCommand.CommandPropertyName = "DataContextProperty";
            Assert.AreEqual(null, control.GetValue(MockControl.CustomDataProperty));
            Assert.AreEqual(CompositeCommand.CompositeCommand, control.DataContext);
            CompositeCommand.CommandPropertyName = "CustomData2";
            Assert.AreEqual(CompositeCommand.CompositeCommand, control.CustomData2);
        }
Ejemplo n.º 3
0
        public void ResultCommandCanExecuteTest()
        {
            CompositeCommand = new CompositeCommandBehavior();
            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command = new MockCommand(1)
            });
            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command = new MockCommand(2)
            });
            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command = new MockCommand(3)
            });

            Assert.IsTrue(CompositeCommand.CompositeCommand.CanExecute(null));
            (CompositeCommand.Commands[1].Command as MockCommand).IsEnabled = false;
            Assert.IsFalse(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.Commands[1].CheckCanExecute = false;
            Assert.IsTrue(CompositeCommand.CompositeCommand.CanExecute(null));
            (CompositeCommand.Commands[2].Command as MockCommand).IsEnabled = false;
            Assert.IsFalse(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.Commands.RemoveAt(2);
            Assert.IsTrue(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.Commands.Clear();
            Assert.IsFalse(CompositeCommand.CompositeCommand.CanExecute(null));
        }
 void PrepareDefaultButtonBehavior(bool setBehaviorPropName, string propName = null) {
     TestControl = new Button();
     CompositeCommand = new CompositeCommandBehavior();
     if(setBehaviorPropName)
         CompositeCommand.CommandPropertyName = propName;
     CompositeCommand.Commands.Add(new CommandItem() {
         Command = new MockCommand(1),
     });
     Interaction.GetBehaviors(TestControl).Add(CompositeCommand);
 }
Ejemplo n.º 5
0
 void PrepareDefaultButtonBehavior(bool setBehaviorPropName, string propName = null)
 {
     TestControl      = new Button();
     CompositeCommand = new CompositeCommandBehavior();
     if (setBehaviorPropName)
     {
         CompositeCommand.CommandPropertyName = propName;
     }
     CompositeCommand.Commands.Add(new CommandItem()
     {
         Command = new MockCommand(1),
     });
     Interaction.GetBehaviors(TestControl).Add(CompositeCommand);
 }
        public void CompositeCommandCanExecuteConditionTest()
        {
            CompositeCommand = new CompositeCommandBehavior();
            Assert.AreEqual(CompositeCommandExecuteCondition.AllCommandsCanBeExecuted, CompositeCommand.CanExecuteCondition);

            var firstCommand = new MockCommand(1)
            {
                IsEnabled = false
            };
            var secondCommand = new MockCommand(2);

            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command = firstCommand, CommandParameter = 11
            });
            CompositeCommand.Commands.Add(new CommandItem()
            {
                Command = secondCommand, CommandParameter = 12
            });

            Assert.IsFalse(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.CompositeCommand.Execute(null);
            Assert.IsNull(firstCommand.CommandExecuteResult);
            Assert.IsNull(secondCommand.CommandExecuteResult);

            CompositeCommand.CanExecuteCondition = CompositeCommandExecuteCondition.AnyCommandCanBeExecuted;
            Assert.IsTrue(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.CompositeCommand.Execute(null);
            Assert.IsNull(firstCommand.CommandExecuteResult);
            Assert.AreEqual(2, secondCommand.CommandExecuteResult);

            secondCommand.Reset();
            secondCommand.IsEnabled = false;
            Assert.IsFalse(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.CompositeCommand.Execute(null);
            Assert.IsNull(firstCommand.CommandExecuteResult);
            Assert.IsNull(secondCommand.CommandExecuteResult);
        }
Ejemplo n.º 7
0
 protected override void TearDownCore()
 {
     CompositeCommand = null;
     TestControl      = null;
     base.TearDownCore();
 }
        public void ResultCommandCanExecuteTest() {
            CompositeCommand = new CompositeCommandBehavior();
            CompositeCommand.Commands.Add(new CommandItem() {
                Command = new MockCommand(1)
            });
            CompositeCommand.Commands.Add(new CommandItem() {
                Command = new MockCommand(2)
            });
            CompositeCommand.Commands.Add(new CommandItem() {
                Command = new MockCommand(3)
            });

            Assert.IsTrue(CompositeCommand.CompositeCommand.CanExecute(null));
            (CompositeCommand.Commands[1].Command as MockCommand).IsEnabled = false;
            Assert.IsFalse(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.Commands[1].CheckCanExecute = false;
            Assert.IsTrue(CompositeCommand.CompositeCommand.CanExecute(null));
            (CompositeCommand.Commands[2].Command as MockCommand).IsEnabled = false;
            Assert.IsFalse(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.Commands.RemoveAt(2);
            Assert.IsTrue(CompositeCommand.CompositeCommand.CanExecute(null));
            CompositeCommand.Commands.Clear();
            Assert.IsFalse(CompositeCommand.CompositeCommand.CanExecute(null));
        }
 protected override void TearDownCore() {
     CompositeCommand = null;
     TestControl = null;
     base.TearDownCore();
 }
 public void FindAssociatedObjectPropertyTest() {
     MockControl control = new MockControl();
     CompositeCommand = new CompositeCommandBehavior() {
         CommandPropertyName = "CustomData"
     };
     CompositeCommand.Commands.Add(new CommandItem() {
         Command = new MockCommand(1),
     });
     Interaction.GetBehaviors(control).Add(CompositeCommand);
     Window.Content = control;
     EnqueueShowWindow();
     Assert.AreEqual(CompositeCommand.CompositeCommand, control.GetValue(MockControl.CustomDataProperty));
     CompositeCommand.CommandPropertyName = null;
     Assert.AreEqual(null, control.GetValue(MockControl.CustomDataProperty));
     CompositeCommand.CommandPropertyName = "CustomDataProperty";
     Assert.AreEqual(CompositeCommand.CompositeCommand, control.GetValue(MockControl.CustomDataProperty));
     CompositeCommand.CommandPropertyName = "DataContextProperty";
     Assert.AreEqual(null, control.GetValue(MockControl.CustomDataProperty));
     Assert.AreEqual(CompositeCommand.CompositeCommand, control.DataContext);
     CompositeCommand.CommandPropertyName = "CustomData2";
     Assert.AreEqual(CompositeCommand.CompositeCommand, control.CustomData2);
 }
        public void ResultCommandExecuteTest() {
            CompositeCommand = new CompositeCommandBehavior();
            CompositeCommand.Commands.Add(new CommandItem() {
                Command = new MockCommand(1),
                CommandParameter = 11
            });
            CompositeCommand.Commands.Add(new CommandItem() {
                Command = new MockCommand(2),
                CommandParameter = 12
            });
            CompositeCommand.Commands.Add(new CommandItem() {
                Command = new MockCommand(3)
            });

            CompositeCommand.CompositeCommand.Execute(14);
            MockCommand command = CompositeCommand.Commands[0].Command as MockCommand;
            Assert.AreEqual(1, command.CommandExecuteResult);
            Assert.AreEqual(11, command.CommandExecuteParameter);
            command = CompositeCommand.Commands[1].Command as MockCommand;
            Assert.AreEqual(2, command.CommandExecuteResult);
            Assert.AreEqual(12, command.CommandExecuteParameter);
            command = CompositeCommand.Commands[2].Command as MockCommand;
            Assert.AreEqual(3, command.CommandExecuteResult);
            Assert.AreEqual(null, command.CommandExecuteParameter);
        }