From: Diane Trout Date: Fri, 30 Mar 2007 21:02:13 +0000 (+0000) Subject: seperate qt unittests into subdirectories X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=commitdiff_plain;h=c2cf07329f27f419a5ae84cef7ed844cf95e4c18 seperate qt unittests into subdirectories I wanted to move the various qt unit tests into subdirectories to make it a bit cleaner to add more tests. --- diff --git a/makelib/TestMacros.cmake b/makelib/TestMacros.cmake new file mode 100644 index 0000000..47f9432 --- /dev/null +++ b/makelib/TestMacros.cmake @@ -0,0 +1,43 @@ + +#deal with some debian wierdness +#FIND_PROGRAM(QT_QMAKE_EXECUTABLE qmake-qt4 ) +#FIND_PROGRAM(QT_MOC_EXECUTABLE moc-qt4 ) + +FIND_PACKAGE(Qt4) +SET(QT_USE_QTOPENGL 1) +IF(QT_QTASSISTANT_FOUND) + SET(QT_USE_QTNETWORK 1) + SET(QT_USE_QTASSISTANT 1) +ENDIF(QT_QTASSISTANT_FOUND) +INCLUDE( ${QT_USE_FILE} ) +FIND_PACKAGE(OpenGL) +FIND_PACKAGE(Boost) +FIND_PACKAGE(PythonLibs) + +IF(QT4_FOUND) + SET(qui_test_libs + mussa_qui + mussa_core + ${QT_LIBRARIES} + ${OPENGL_gl_LIBRARY} + ${BOOST_PROGRAM_OPTIONS_LIBRARY} + ${BOOST_FILESYSTEM_LIBRARY} + ${BOOST_SERIALIZATION_LIBRARY} + ${QT_QTTEST_LIBRARY} + ) + + MACRO(MAKE_QUI_UNITTEST basename) + SET(extra_libs ${ARGN}) + QT4_WRAP_CPP(${basename}_MOC_CXX ${basename}.hpp) + GET_FILENAME_COMPONENT(${basename}_MOC_DIR ${${basename}_MOC_CXX} PATH) + SET(${basename}_SRC ${basename}.cpp) + INCLUDE_DIRECTORIES(${${basename}_MOC_DIR}) + SET_SOURCE_FILES_PROPERTIES(${${basename}_SRC} + PROPERTIES COMPILE_FLAGS "-fPIC" + ) + ADD_EXECUTABLE(${basename} ${${basename}_MOC_CXX} ${${basename}_SRC}) + SET_TARGET_PROPERTIES(${basename} PROPERTIES COMPILE_FLAGS "-fPIC") + TARGET_LINK_LIBRARIES(${basename} ${qui_test_libs} ${extra_libs}) + ADD_TEST(${basename} ${basename}) + ENDMACRO(MAKE_QUI_UNITTEST) +ENDIF(QT4_FOUND) \ No newline at end of file diff --git a/qui/CMakeLists.txt b/qui/CMakeLists.txt index 53c9457..206dce7 100644 --- a/qui/CMakeLists.txt +++ b/qui/CMakeLists.txt @@ -108,3 +108,5 @@ SET_TARGET_PROPERTIES( ADD_SUBDIRECTORY( test ) +ADD_SUBDIRECTORY( seqbrowser/test ) +ADD_SUBDIRECTORY( subanalysis/test ) diff --git a/qui/seqbrowser/test/CMakeLists.txt b/qui/seqbrowser/test/CMakeLists.txt new file mode 100644 index 0000000..73aeb2a --- /dev/null +++ b/qui/seqbrowser/test/CMakeLists.txt @@ -0,0 +1,5 @@ + +INCLUDE( TestMacros ) + +MAKE_QUI_UNITTEST(TestSequenceBrowser) +MAKE_QUI_UNITTEST(TestSequenceDescription) \ No newline at end of file diff --git a/qui/seqbrowser/test/TestSequenceBrowser.cpp b/qui/seqbrowser/test/TestSequenceBrowser.cpp new file mode 100644 index 0000000..e549db8 --- /dev/null +++ b/qui/seqbrowser/test/TestSequenceBrowser.cpp @@ -0,0 +1,4 @@ +#include "TestSequenceBrowser.hpp" + +QTEST_MAIN(TestSequenceBrowser) + diff --git a/qui/seqbrowser/test/TestSequenceBrowser.hpp b/qui/seqbrowser/test/TestSequenceBrowser.hpp new file mode 100644 index 0000000..0f56b6c --- /dev/null +++ b/qui/seqbrowser/test/TestSequenceBrowser.hpp @@ -0,0 +1,50 @@ +#ifndef _TEST_SEQUENCE_BROWSER_HPP_ +#define _TEST_SEQUENCE_BROWSER_HPP_ + +#include +#include + +#include "alg/sequence.hpp" +#include "qui/seqbrowser/SequenceBrowser.hpp" + +#include +#include +#include + +#include +#include +using namespace boost::assign; + + +class TestSequenceBrowser : public QObject +{ + Q_OBJECT + +private slots: + + void testSimplePushSequence() { + boost::shared_ptr seq1(new Sequence("AAGGCCTT")); + boost::shared_ptr seq2(new Sequence("GGCCTTAA")); + + SequenceBrowser browser; + QVERIFY(browser.sequences().size() == 0); + browser.push_sequence(seq1); + browser.push_sequence(seq2); + QVERIFY(browser.sequences().size() == 2); + browser.clear(); + QVERIFY(browser.sequences().size() == 0); + } + + void testSelect() { + boost::shared_ptr seq1(new Sequence("AAGGCCTT")); + boost::shared_ptr seq2(new Sequence("GGCCTTAA")); + + SequenceBrowser browser; + browser.push_sequence(seq1); + browser.push_sequence(seq2); + std::vector path; path += 1,1; + std::vector rc; rc += false, false; + browser.link(path, rc, 2); + } +}; +#endif diff --git a/qui/seqbrowser/test/TestSequenceDescription.cpp b/qui/seqbrowser/test/TestSequenceDescription.cpp new file mode 100644 index 0000000..72840b6 --- /dev/null +++ b/qui/seqbrowser/test/TestSequenceDescription.cpp @@ -0,0 +1,3 @@ +#include "TestSequenceDescription.hpp" + +QTEST_MAIN(TestSequenceDescription) diff --git a/qui/seqbrowser/test/TestSequenceDescription.hpp b/qui/seqbrowser/test/TestSequenceDescription.hpp new file mode 100644 index 0000000..ef4878e --- /dev/null +++ b/qui/seqbrowser/test/TestSequenceDescription.hpp @@ -0,0 +1,53 @@ +#ifndef _TEST_SEQUENCE_DESCRIPTION_HPP_ +#define _TEST_SEQUENCE_DESCRIPTION_HPP_ + +#include +#include + +#include "alg/sequence.hpp" +#include "alg/glsequence.hpp" +#include "alg/annotation_colors.hpp" +#include "qui/seqbrowser/SequenceDescription.hpp" + +#include +#include +#include + +class TestSequenceDescription : public QObject +{ + Q_OBJECT + +private slots: + void testSimple() { + Sequence seq1(new Sequence("AAGGCCTT")); + seq1.set_species("foo"); + boost::shared_ptr cm(new AnnotationColors); + // this is now a copy of the original sequence... which + // means changes to the shared GlSequence wont do anything to Sequence + boost::shared_ptr glseq1(new GlSequence(seq1, cm)); + + SequenceDescription sd(glseq1, 0); + QVERIFY(sd.glsequence() == glseq1); + QVERIFY(sd.glsequence()->get_species() == glseq1->get_species()); + sd.setName(std::string("bar")); + QVERIFY(sd.glsequence()->get_species() == glseq1->get_species()); + QVERIFY(seq1.get_species() != "bar"); + QVERIFY(glseq1->get_species() == "bar"); + } + void testDeletedPointer() { + SequenceDescription sd; + + { + boost::shared_ptr seq1(new Sequence("AAGGCCTT")); + Sequence m("AAGG"); + seq1->find_motif(m); + seq1->set_species("foo"); + boost::shared_ptr cm(new AnnotationColors); + boost::shared_ptr glseq1(new GlSequence(*seq1, cm)); + sd.setGlSequence(glseq1); + } + + QVERIFY(sd.name() == "foo"); + } +}; +#endif diff --git a/qui/subanalysis/test/CMakeLists.txt b/qui/subanalysis/test/CMakeLists.txt new file mode 100644 index 0000000..e0bfa6f --- /dev/null +++ b/qui/subanalysis/test/CMakeLists.txt @@ -0,0 +1,4 @@ + +INCLUDE( TestMacros ) + +MAKE_QUI_UNITTEST(TestSequenceLocationModel) diff --git a/qui/subanalysis/test/TestSequenceLocationModel.cpp b/qui/subanalysis/test/TestSequenceLocationModel.cpp new file mode 100644 index 0000000..31cc92c --- /dev/null +++ b/qui/subanalysis/test/TestSequenceLocationModel.cpp @@ -0,0 +1,3 @@ +#include "TestSequenceLocationModel.hpp" + +QTEST_APPLESS_MAIN(TestSequenceLocationModel) diff --git a/qui/subanalysis/test/TestSequenceLocationModel.hpp b/qui/subanalysis/test/TestSequenceLocationModel.hpp new file mode 100644 index 0000000..153a4f5 --- /dev/null +++ b/qui/subanalysis/test/TestSequenceLocationModel.hpp @@ -0,0 +1,37 @@ +#ifndef _TEST_SEQUENCE_LOCATION_MODEL_HPP_ +#define _TEST_SEQUENCE_LOCATION_MODEL_HPP_ +#include "qui/subanalysis/SequenceLocationModel.hpp" +#include "alg/sequence_location.hpp" +#include "alg/sequence.hpp" + +#include + +class TestSequenceLocationModel : public QObject +{ + Q_OBJECT + +private slots: + + void testAddSequences() { + Sequence seq1("AAGGCCTT"); + Sequence seq2("GGCCTTAA"); + + SequenceLocation loc1(seq1, 0, 2); + SequenceLocation loc2(seq2, 3, 3); + + SequenceLocationModel slm; + QVERIFY(slm.size() == 0); + slm.push_back(loc1); + slm.push_back(loc2); + + QVERIFY(slm.rowCount() == 2); + QVERIFY(slm.rowCount() == slm.size()); + + } + + void testColumn() { + SequenceLocationModel slm; + QVERIFY(slm.columnCount() == 3); + } +}; +#endif diff --git a/qui/test/CMakeLists.txt b/qui/test/CMakeLists.txt index d590c38..d1668c7 100644 --- a/qui/test/CMakeLists.txt +++ b/qui/test/CMakeLists.txt @@ -1,44 +1,4 @@ -#deal with some debian wierdness -FIND_PROGRAM(QT_QMAKE_EXECUTABLE qmake-qt4 ) -FIND_PROGRAM(QT_MOC_EXECUTABLE moc-qt4 ) + +INCLUDE( TestMacros ) -FIND_PACKAGE(Qt4) -SET(QT_USE_QTOPENGL 1) -IF(QT_QTASSISTANT_FOUND) - SET(QT_USE_QTNETWORK 1) - SET(QT_USE_QTASSISTANT 1) -ENDIF(QT_QTASSISTANT_FOUND) -INCLUDE( ${QT_USE_FILE} ) -FIND_PACKAGE(OpenGL) -FIND_PACKAGE(Boost) -FIND_PACKAGE(PythonLibs) - -SET(libs - mussa_qui - mussa_core - ${QT_LIBRARIES} - ${OPENGL_gl_LIBRARY} - ${BOOST_PROGRAM_OPTIONS_LIBRARY} - ${BOOST_FILESYSTEM_LIBRARY} - ${BOOST_SERIALIZATION_LIBRARY} - ${QT_QTTEST_LIBRARY} - ) - -MACRO(MAKE_QUI_UNITTEST basename) - QT4_WRAP_CPP(${basename}_MOC_CXX ${basename}.hpp) - GET_FILENAME_COMPONENT(${basename}_MOC_DIR ${${basename}_MOC_CXX} PATH) - SET(${basename}_SRC ${basename}.cpp) - INCLUDE_DIRECTORIES(${${basename}_MOC_DIR}) - SET_SOURCE_FILES_PROPERTIES(${${basename}_SRC} - PROPERTIES COMPILE_FLAGS "-fPIC" - ) - ADD_EXECUTABLE(${basename} ${${basename}_MOC_CXX} ${${basename}_SRC}) - SET_TARGET_PROPERTIES(${basename} PROPERTIES COMPILE_FLAGS "-fPIC") - TARGET_LINK_LIBRARIES(${basename} ${libs}) - ADD_TEST(${basename} ${basename}) -ENDMACRO(MAKE_QUI_UNITTEST) - -MAKE_QUI_UNITTEST(TestSequenceLocationModel) -MAKE_QUI_UNITTEST(TestSequenceBrowser) -MAKE_QUI_UNITTEST(TestSequenceDescription) MAKE_QUI_UNITTEST(TestColorSharing) diff --git a/qui/test/TestSequenceBrowser.cpp b/qui/test/TestSequenceBrowser.cpp deleted file mode 100644 index e549db8..0000000 --- a/qui/test/TestSequenceBrowser.cpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "TestSequenceBrowser.hpp" - -QTEST_MAIN(TestSequenceBrowser) - diff --git a/qui/test/TestSequenceBrowser.hpp b/qui/test/TestSequenceBrowser.hpp deleted file mode 100644 index 0f56b6c..0000000 --- a/qui/test/TestSequenceBrowser.hpp +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _TEST_SEQUENCE_BROWSER_HPP_ -#define _TEST_SEQUENCE_BROWSER_HPP_ - -#include -#include - -#include "alg/sequence.hpp" -#include "qui/seqbrowser/SequenceBrowser.hpp" - -#include -#include -#include - -#include -#include -using namespace boost::assign; - - -class TestSequenceBrowser : public QObject -{ - Q_OBJECT - -private slots: - - void testSimplePushSequence() { - boost::shared_ptr seq1(new Sequence("AAGGCCTT")); - boost::shared_ptr seq2(new Sequence("GGCCTTAA")); - - SequenceBrowser browser; - QVERIFY(browser.sequences().size() == 0); - browser.push_sequence(seq1); - browser.push_sequence(seq2); - QVERIFY(browser.sequences().size() == 2); - browser.clear(); - QVERIFY(browser.sequences().size() == 0); - } - - void testSelect() { - boost::shared_ptr seq1(new Sequence("AAGGCCTT")); - boost::shared_ptr seq2(new Sequence("GGCCTTAA")); - - SequenceBrowser browser; - browser.push_sequence(seq1); - browser.push_sequence(seq2); - std::vector path; path += 1,1; - std::vector rc; rc += false, false; - browser.link(path, rc, 2); - } -}; -#endif diff --git a/qui/test/TestSequenceDescription.cpp b/qui/test/TestSequenceDescription.cpp deleted file mode 100644 index 72840b6..0000000 --- a/qui/test/TestSequenceDescription.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include "TestSequenceDescription.hpp" - -QTEST_MAIN(TestSequenceDescription) diff --git a/qui/test/TestSequenceDescription.hpp b/qui/test/TestSequenceDescription.hpp deleted file mode 100644 index ef4878e..0000000 --- a/qui/test/TestSequenceDescription.hpp +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef _TEST_SEQUENCE_DESCRIPTION_HPP_ -#define _TEST_SEQUENCE_DESCRIPTION_HPP_ - -#include -#include - -#include "alg/sequence.hpp" -#include "alg/glsequence.hpp" -#include "alg/annotation_colors.hpp" -#include "qui/seqbrowser/SequenceDescription.hpp" - -#include -#include -#include - -class TestSequenceDescription : public QObject -{ - Q_OBJECT - -private slots: - void testSimple() { - Sequence seq1(new Sequence("AAGGCCTT")); - seq1.set_species("foo"); - boost::shared_ptr cm(new AnnotationColors); - // this is now a copy of the original sequence... which - // means changes to the shared GlSequence wont do anything to Sequence - boost::shared_ptr glseq1(new GlSequence(seq1, cm)); - - SequenceDescription sd(glseq1, 0); - QVERIFY(sd.glsequence() == glseq1); - QVERIFY(sd.glsequence()->get_species() == glseq1->get_species()); - sd.setName(std::string("bar")); - QVERIFY(sd.glsequence()->get_species() == glseq1->get_species()); - QVERIFY(seq1.get_species() != "bar"); - QVERIFY(glseq1->get_species() == "bar"); - } - void testDeletedPointer() { - SequenceDescription sd; - - { - boost::shared_ptr seq1(new Sequence("AAGGCCTT")); - Sequence m("AAGG"); - seq1->find_motif(m); - seq1->set_species("foo"); - boost::shared_ptr cm(new AnnotationColors); - boost::shared_ptr glseq1(new GlSequence(*seq1, cm)); - sd.setGlSequence(glseq1); - } - - QVERIFY(sd.name() == "foo"); - } -}; -#endif diff --git a/qui/test/TestSequenceLocationModel.cpp b/qui/test/TestSequenceLocationModel.cpp deleted file mode 100644 index 31cc92c..0000000 --- a/qui/test/TestSequenceLocationModel.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include "TestSequenceLocationModel.hpp" - -QTEST_APPLESS_MAIN(TestSequenceLocationModel) diff --git a/qui/test/TestSequenceLocationModel.hpp b/qui/test/TestSequenceLocationModel.hpp deleted file mode 100644 index 153a4f5..0000000 --- a/qui/test/TestSequenceLocationModel.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef _TEST_SEQUENCE_LOCATION_MODEL_HPP_ -#define _TEST_SEQUENCE_LOCATION_MODEL_HPP_ -#include "qui/subanalysis/SequenceLocationModel.hpp" -#include "alg/sequence_location.hpp" -#include "alg/sequence.hpp" - -#include - -class TestSequenceLocationModel : public QObject -{ - Q_OBJECT - -private slots: - - void testAddSequences() { - Sequence seq1("AAGGCCTT"); - Sequence seq2("GGCCTTAA"); - - SequenceLocation loc1(seq1, 0, 2); - SequenceLocation loc2(seq2, 3, 3); - - SequenceLocationModel slm; - QVERIFY(slm.size() == 0); - slm.push_back(loc1); - slm.push_back(loc2); - - QVERIFY(slm.rowCount() == 2); - QVERIFY(slm.rowCount() == slm.size()); - - } - - void testColumn() { - SequenceLocationModel slm; - QVERIFY(slm.columnCount() == 3); - } -}; -#endif