1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
// Copyright 2015 - 2025, GIBIS-UNIFESP and the wiRedPanda contributors
// SPDX-License-Identifier: GPL-3.0-or-later
#include "testcommands.h"
#include "and.h"
#include "commands.h"
#include "scene.h"
#include "workspace.h"
#include <QTest>
void TestCommands::testAddDeleteCommands()
{
QList<QGraphicsItem *> items{new And(), new And(), new And(), new And()};
WorkSpace workspace;
auto *scene = workspace.scene();
auto *undoStack = scene->undoStack();
undoStack->setUndoLimit(1);
scene->receiveCommand(new AddItemsCommand(items, scene));
QCOMPARE(scene->elements().size(), items.size());
undoStack->undo();
undoStack->redo();
undoStack->undo();
undoStack->redo();
undoStack->undo();
undoStack->redo();
scene->receiveCommand(new DeleteItemsCommand(scene->items(), scene));
undoStack->undo();
undoStack->redo();
undoStack->undo();
undoStack->redo();
undoStack->undo();
undoStack->redo();
QCOMPARE(scene->elements().size(), 0);
QCOMPARE(undoStack->index(), 1);
}
|