Started adding cppunit tests
This commit is contained in:
parent
5dfa34dd56
commit
ca0f87b419
8 changed files with 193 additions and 1 deletions
|
@ -28,6 +28,9 @@ public:
|
||||||
inline const QString& getName() {return name;}
|
inline const QString& getName() {return name;}
|
||||||
void setName(QString name);
|
void setName(QString name);
|
||||||
|
|
||||||
|
inline const BaseDefinition* getParent() {return parent;}
|
||||||
|
inline const BaseDefinition* getRoot() {return root;}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void addChild(BaseDefinition* child);
|
void addChild(BaseDefinition* child);
|
||||||
void removeChild(BaseDefinition* child);
|
void removeChild(BaseDefinition* child);
|
||||||
|
|
|
@ -10,7 +10,7 @@ SUBDIRS = \
|
||||||
editing \
|
editing \
|
||||||
controlling
|
controlling
|
||||||
|
|
||||||
unix:SUBDIRS += testing
|
unix:SUBDIRS += testing tests
|
||||||
|
|
||||||
basics.depends = system
|
basics.depends = system
|
||||||
definition.depends = basics
|
definition.depends = basics
|
||||||
|
@ -19,3 +19,4 @@ exploring.depends = rendering
|
||||||
editing.depends = exploring rendering
|
editing.depends = exploring rendering
|
||||||
controlling.depends = rendering
|
controlling.depends = rendering
|
||||||
unix:testing.depends = rendering
|
unix:testing.depends = rendering
|
||||||
|
unix:tests.depends = rendering
|
||||||
|
|
5
src/tests/BaseTestCase.cpp
Normal file
5
src/tests/BaseTestCase.cpp
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#include "BaseTestCase.h"
|
||||||
|
|
||||||
|
BaseTestCase::BaseTestCase()
|
||||||
|
{
|
||||||
|
}
|
16
src/tests/BaseTestCase.h
Normal file
16
src/tests/BaseTestCase.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef BASETESTCASE_H
|
||||||
|
#define BASETESTCASE_H
|
||||||
|
|
||||||
|
#include <cppunit/TestFixture.h>
|
||||||
|
#include <cppunit/TestSuite.h>
|
||||||
|
#include <cppunit/TestCaller.h>
|
||||||
|
#include <cppunit/extensions/HelperMacros.h>
|
||||||
|
using namespace CppUnit;
|
||||||
|
|
||||||
|
class BaseTestCase: public TestFixture
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BaseTestCase();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // BASETESTCASE_H
|
81
src/tests/Layers_Test.cpp
Normal file
81
src/tests/Layers_Test.cpp
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
#include "Layers_Test.h"
|
||||||
|
|
||||||
|
#include "Layers.h"
|
||||||
|
|
||||||
|
BaseDefinition* _construc1(Layers*)
|
||||||
|
{
|
||||||
|
return new BaseDefinition(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
BaseDefinition* _construc2(Layers* parent)
|
||||||
|
{
|
||||||
|
BaseDefinition* result = new BaseDefinition(parent);
|
||||||
|
result->setName("test");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Layers_Test::testConstructor()
|
||||||
|
{
|
||||||
|
Layers layers1(NULL, _construc1);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(0, layers1.count());
|
||||||
|
}
|
||||||
|
|
||||||
|
void Layers_Test::testNullLayer()
|
||||||
|
{
|
||||||
|
Layers layers1(NULL, _construc1);
|
||||||
|
|
||||||
|
for (int i = -2; i < 5; i++)
|
||||||
|
{
|
||||||
|
BaseDefinition* layer = layers1.getLayer(0);
|
||||||
|
CPPUNIT_ASSERT(layer != NULL);
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT(NULL == layer->getParent());
|
||||||
|
CPPUNIT_ASSERT(layer == layer->getRoot());
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT(QString() == layer->getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT_EQUAL(0, layers1.count());
|
||||||
|
}
|
||||||
|
|
||||||
|
void Layers_Test::testCopy()
|
||||||
|
{
|
||||||
|
Layers layers1(NULL, _construc2);
|
||||||
|
layers1.addLayer();
|
||||||
|
CPPUNIT_ASSERT_EQUAL(1, layers1.count());
|
||||||
|
|
||||||
|
// Copy with the same constructor
|
||||||
|
Layers layers2(NULL, _construc2);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(0, layers2.count());
|
||||||
|
layers1.copy(&layers2);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(1, layers2.count());
|
||||||
|
CPPUNIT_ASSERT(QString("test") == layers1.getLayer(0)->getName());
|
||||||
|
CPPUNIT_ASSERT(&layers1 == layers1.getLayer(0)->getParent());
|
||||||
|
CPPUNIT_ASSERT(QString("test") == layers2.getLayer(0)->getName());
|
||||||
|
CPPUNIT_ASSERT(&layers2 == layers2.getLayer(0)->getParent());
|
||||||
|
CPPUNIT_ASSERT(layers1.getLayer(0) != layers2.getLayer(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
void Layers_Test::testMaxLayerCount()
|
||||||
|
{
|
||||||
|
Layers layers1(NULL, _construc1);
|
||||||
|
layers1.setMaxLayerCount(2);
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT_EQUAL(0, layers1.count());
|
||||||
|
layers1.addLayer();
|
||||||
|
CPPUNIT_ASSERT_EQUAL(1, layers1.count());
|
||||||
|
layers1.addLayer();
|
||||||
|
CPPUNIT_ASSERT_EQUAL(2, layers1.count());
|
||||||
|
layers1.addLayer();
|
||||||
|
CPPUNIT_ASSERT_EQUAL(2, layers1.count());
|
||||||
|
layers1.addLayer();
|
||||||
|
CPPUNIT_ASSERT_EQUAL(2, layers1.count());
|
||||||
|
layers1.removeLayer(0);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(1, layers1.count());
|
||||||
|
layers1.addLayer();
|
||||||
|
CPPUNIT_ASSERT_EQUAL(2, layers1.count());
|
||||||
|
layers1.addLayer();
|
||||||
|
CPPUNIT_ASSERT_EQUAL(2, layers1.count());
|
||||||
|
}
|
||||||
|
|
||||||
|
CPPUNIT_TEST_SUITE_REGISTRATION(Layers_Test);
|
22
src/tests/Layers_Test.h
Normal file
22
src/tests/Layers_Test.h
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#ifndef LAYERS_TEST_H
|
||||||
|
#define LAYERS_TEST_H
|
||||||
|
|
||||||
|
#include "BaseTestCase.h"
|
||||||
|
|
||||||
|
class Layers_Test: public BaseTestCase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPPUNIT_TEST_SUITE(Layers_Test);
|
||||||
|
CPPUNIT_TEST(testConstructor);
|
||||||
|
CPPUNIT_TEST(testNullLayer);
|
||||||
|
CPPUNIT_TEST(testCopy);
|
||||||
|
CPPUNIT_TEST(testMaxLayerCount);
|
||||||
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
|
void testConstructor();
|
||||||
|
void testNullLayer();
|
||||||
|
void testCopy();
|
||||||
|
void testMaxLayerCount();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // LAYERS_TEST_H
|
22
src/tests/main.cpp
Normal file
22
src/tests/main.cpp
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#include <cppunit/TextTestRunner.h>
|
||||||
|
#include <cppunit/extensions/TestFactoryRegistry.h>
|
||||||
|
#include <QtCore/QDebug>
|
||||||
|
|
||||||
|
using namespace CppUnit;
|
||||||
|
|
||||||
|
void noMessageOutput(QtMsgType, const QMessageLogContext&, const QString&)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
qInstallMessageHandler(noMessageOutput);
|
||||||
|
|
||||||
|
TextTestRunner runner;
|
||||||
|
TestFactoryRegistry ®istry = TestFactoryRegistry::getRegistry();
|
||||||
|
|
||||||
|
runner.addTest(registry.makeTest());
|
||||||
|
|
||||||
|
return runner.run() ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
42
src/tests/tests.pro
Normal file
42
src/tests/tests.pro
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
TEMPLATE = app
|
||||||
|
CONFIG += console
|
||||||
|
CONFIG -= app_bundle
|
||||||
|
|
||||||
|
TARGET = paysages-tests2
|
||||||
|
|
||||||
|
unix {
|
||||||
|
CONFIG += link_pkgconfig
|
||||||
|
PKGCONFIG += cppunit
|
||||||
|
}
|
||||||
|
|
||||||
|
SOURCES += main.cpp \
|
||||||
|
Layers_Test.cpp \
|
||||||
|
BaseTestCase.cpp
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
Layers_Test.h \
|
||||||
|
BaseTestCase.h
|
||||||
|
|
||||||
|
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../system/release/ -lpaysages_system
|
||||||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../system/debug/ -lpaysages_system
|
||||||
|
else:unix: LIBS += -L$$OUT_PWD/../system/ -lpaysages_system
|
||||||
|
INCLUDEPATH += $$PWD/../system
|
||||||
|
DEPENDPATH += $$PWD/../system
|
||||||
|
|
||||||
|
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../basics/release/ -lpaysages_basics
|
||||||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../basics/debug/ -lpaysages_basics
|
||||||
|
else:unix: LIBS += -L$$OUT_PWD/../basics/ -lpaysages_basics
|
||||||
|
INCLUDEPATH += $$PWD/../basics
|
||||||
|
DEPENDPATH += $$PWD/../basics
|
||||||
|
|
||||||
|
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../definition/release/ -lpaysages_definition
|
||||||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../definition/debug/ -lpaysages_definition
|
||||||
|
else:unix: LIBS += -L$$OUT_PWD/../definition/ -lpaysages_definition
|
||||||
|
INCLUDEPATH += $$PWD/../definition
|
||||||
|
DEPENDPATH += $$PWD/../definition
|
||||||
|
|
||||||
|
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../rendering/release/ -lpaysages_rendering
|
||||||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../rendering/debug/ -lpaysages_rendering
|
||||||
|
else:unix: LIBS += -L$$OUT_PWD/../rendering/ -lpaysages_rendering
|
||||||
|
INCLUDEPATH += $$PWD/../rendering
|
||||||
|
DEPENDPATH += $$PWD/../rendering
|
Loading…
Reference in a new issue