1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- // Qt includes
- #include <QApplication>
- #include <QDir>
- #include <QTimer>
- // ctkDICOMCore includes
- #include "ctkDICOMDatabase.h"
- // STD includes
- #include <iostream>
- int ctkDICOMDatabaseTest1( int argc, char * argv [] )
- {
- QApplication app(argc, argv);
- ctkDICOMDatabase database;
- QDir databaseDirectory = QDir::temp();
- QFileInfo databaseFile(databaseDirectory, QString("database.test"));
- database.openDatabase(databaseFile.absoluteFilePath());
- if (!database.lastError().isEmpty())
- {
- std::cerr << "ctkDICOMDatabase::openDatabase() failed: "
- << qPrintable(database.lastError()) << std::endl;
- return EXIT_FAILURE;
- }
- if (!database.database().isValid())
- {
- std::cerr << "ctkDICOMDatabase::openDatabase() failed: "
- << "invalid sql database" << std::endl;
- return EXIT_FAILURE;
- }
- if (database.isInMemory())
- {
- std::cerr << "ctkDICOMDatabase::openDatabase() failed: "
- << "database should not be in memory" << std::endl;
- return EXIT_FAILURE;
- }
- if (database.databaseFilename() != databaseFile.absoluteFilePath())
- {
- std::cerr << "ctkDICOMDatabase::databaseFilename() failed: "
- << qPrintable( database.databaseFilename()) << std::endl;
- return EXIT_FAILURE;
- }
- if (QDir(database.databaseDirectory()) != databaseDirectory)
- {
- std::cerr << "ctkDICOMDatabase::databaseDirectory() failed"
- << qPrintable(database.databaseDirectory()) << std::endl;
- return EXIT_FAILURE;
- }
- bool res = database.initializeDatabase();
-
- if (!res)
- {
- std::cerr << "ctkDICOMDatabase::initializeDatabase() failed." << std::endl;
- return EXIT_FAILURE;
- }
- // check if it doesn't crash
- database.pathForDataset(0);
- database.insert(0, true, true);
- database.insert(0, true, false);
- database.insert(0, false, false);
- database.insert(0, false, true);
- database.closeDatabase();
- database.initializeDatabase();
- if (argc <= 1 || QString(argv[1]) != "-I")
- {
- QTimer::singleShot(200, &app, SLOT(quit()));
- }
- return app.exec();
- }
|