private async Task <object?> PublishIdempotentAsync(SchemaCommand command) { var result = await PublishAsync(command); var previousSnapshot = sut.Snapshot; var previousVersion = sut.Snapshot.Version; await PublishAsync(command); Assert.Same(previousSnapshot, sut.Snapshot); Assert.Equal(previousVersion, sut.Snapshot.Version); return(result); }
private async Task <object?> PublishAsync(SchemaCommand command) { var result = await sut.ExecuteAsync(CreateCommand(command)); return(result.Value); }
private void CreateCommands() { DocumentCommands.Clear(); // Commands to ToolStrip ICommand copyCommand = new CopyCommand(this); ICommand pasteCommand = new PasteCommand(this); ICommand cutCommand = new CutCommand(this); ICommand bindingCommand = new CommonBindingCommand(this); var blankBitmap = new System.Drawing.Bitmap(10, 10); // Commands to ToolStrip DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator DocumentCommands.Add(new CommandInfo(_undoCommand = new UndoCommand(this), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(_redoCommand = new RedoCommand(this), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator DocumentCommands.Add(new CommandInfo(cutCommand, new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(copyCommand, new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(pasteCommand, new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator DocumentCommands.Add(new CommandInfo(new XamlViewCommand(this), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(new GroupCommand(this), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(new UngroupCommand(this), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator DocumentCommands.Add(new CommandInfo(new ZMoveTopCommand(this), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(new ZMoveBottomCommand(this), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands), new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator DocumentCommands.Add(new CommandInfo(bindingCommand, new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.ViewCommands), new string[] { "ViewContext" })); DocumentCommands.Add(new CommandInfo(new ZoomLevelCommand(this), new string[] { "ViewContext" })); DocumentCommands.Add(new CommandInfo(new ZoomOutCommand(this), new string[] { "ViewContext" })); DocumentCommands.Add(new CommandInfo(new ZoomInCommand(this), new string[] { "ViewContext" })); /*DocumentCommands.Add(new CommandInfo(cutCommand, _documentMenuContext)); * DocumentCommands.Add(new CommandInfo(copyCommand, _documentMenuContext)); * DocumentCommands.Add(new CommandInfo(pasteCommand, _documentMenuContext)); * DocumentCommands.Add(new CommandInfo(bindingCommand, _documentMenuContext)); * */ DocumentCommands.Add(new CommandInfo(new ImportElementCommand(this), new string[] { "FileContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolSelection, StringResources.ToolEditorGroupName, global::FreeSCADA.Designer.Resources.cursor, typeof(SelectionTool)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolRectangle, StringResources.ToolGrphicsGroupName, global::FreeSCADA.Designer.Resources.shape_square_add, typeof(RectangleTool)), new string[] { "ViewContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolEllipse, StringResources.ToolGrphicsGroupName, global::FreeSCADA.Designer.Resources.shape_ellipse_add, typeof(EllipseTool)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolTextbox, StringResources.ToolGrphicsGroupName, global::FreeSCADA.Designer.Resources.textfield_add, typeof(TextBoxTool)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolPolyline, StringResources.ToolGrphicsGroupName, global::FreeSCADA.Designer.Resources.shape_line_add, typeof(PolylineTool)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolPolygon, StringResources.ToolGrphicsGroupName, global::FreeSCADA.Designer.Resources.shape_line_add, typeof(PolygonTool)), new string[] { "ToolboxContext" })); /*DocumentCommands.Add(new CommandInfo( * new ToolCommand(this, * StringResources.ToolActionEdit, * StringResources.ToolEditorGroupName, * global::FreeSCADA.Designer.Resources.cog_edit, * typeof(ActionEditTool)), * CommandManager.toolboxContext));*/ DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolButton, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <System.Windows.Controls.Button>)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolToggleButton, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <System.Windows.Controls.Primitives.ToggleButton>)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolProgressbar, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <System.Windows.Controls.ProgressBar>)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolScrollbar, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <System.Windows.Controls.Primitives.ScrollBar>)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolImageControl, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <FreeSCADA.Common.Schema.AnimatedImage>)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolSlider, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <System.Windows.Controls.Slider>)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.CheckBox, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <System.Windows.Controls.CheckBox>)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.TextBox, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <System.Windows.Controls.TextBox>)), new string[] { "ToolboxContext" })); DocumentCommands.Add(new CommandInfo( new ToolCommand(this, StringResources.ToolChart, StringResources.ToolControlsGroupName, blankBitmap, typeof(ControlCreateTool <TimeChartControl>)), new string[] { "ToolboxContext" })); }