public void GivenAddedRoutedCommandHandlerWithCommand_WhenRoutedCommandExecuted_ThenCommandExecuted() { // Given var parameter = new object(); var mocks = new MockRepository(); var command = mocks.StrictMock <ICommand>(); command.Expect(c => c.CanExecute(parameter)).Return(true); command.Expect(c => c.Execute(parameter)); mocks.ReplayAll(); var frameworkElement = new FrameworkElement(); RoutedCommandHandlers handlers = RoutedCommandHandlers.GetCommands(frameworkElement); var routedCommand = new RoutedCommand(); var handler = new RoutedCommandHandler { RoutedCommand = routedCommand, Command = command }; handlers.Add(handler); // When routedCommand.Execute(parameter, frameworkElement); // Then mocks.VerifyAll(); }
public void GivenFrameworkElement_WhenCommandsObtainedThroughRoutedCommands_ThenEmptyRoutedCommandHandlersReturned() { // Given var frameworkElement = new FrameworkElement(); // When RoutedCommandHandlers handlers = RoutedCommandHandlers.GetCommands(frameworkElement); // Then Assert.IsEmpty(handlers); }
public void GivenHandlersFromFrameworkElement_WhenCommandsObtainedTwice_ThenSameInstanceReturned() { // Given var frameworkElement = new FrameworkElement(); RoutedCommandHandlers handlersA = RoutedCommandHandlers.GetCommands(frameworkElement); // When RoutedCommandHandlers handlersB = RoutedCommandHandlers.GetCommands(frameworkElement); // Then Assert.AreSame(handlersA, handlersB); }
public void GivenHandlersFromFrameworkElement_WhenRoutedCommandHandlerAdded_ThenPropertiesRegisteredAsCommandBindingToFrameworkElement() { // Given var frameworkElement = new FrameworkElement(); RoutedCommandHandlers handlers = RoutedCommandHandlers.GetCommands(frameworkElement); // When var routedCommand = new RoutedCommand(); var handler = new RoutedCommandHandler { RoutedCommand = routedCommand }; handlers.Add(handler); // Then Assert.AreEqual(1, handlers.Count); Assert.AreSame(routedCommand, handlers.First().RoutedCommand); }
public void GivenAddedRoutedCommandHandlerWithoutCommand_WhenRoutedCommandExecuted_ThenNoExceptionsAreThrown() { // Given var frameworkElement = new FrameworkElement(); RoutedCommandHandlers handlers = RoutedCommandHandlers.GetCommands(frameworkElement); var parameter = new object(); var routedCommand = new RoutedCommand(); var handler = new RoutedCommandHandler { RoutedCommand = routedCommand }; handlers.Add(handler); // When void Call() => routedCommand.Execute(parameter, frameworkElement); // Then Assert.DoesNotThrow(Call); }