public void ShouldUnExecuteLayerSnapshotCommandsOnUnExecute() { TestableLayerSnapshotCommand layerSnapshotCommand = new TestableLayerSnapshotCommand(); TestableLayerSnapshotCommand anotherLayerSnapshotCommand = new TestableLayerSnapshotCommand(); CompositeUndoableCommand <LayerSnapshotCommand> command = new CompositeUndoableCommand <LayerSnapshotCommand>(new List <LayerSnapshotCommand> { layerSnapshotCommand, anotherLayerSnapshotCommand }); command.Execute(); command.UnExecute(); Assert.IsTrue(layerSnapshotCommand.UnExecuteCommandCalled); Assert.IsTrue(anotherLayerSnapshotCommand.UnExecuteCommandCalled); }