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);
        }