diff options
-rw-r--r-- | libs/evoral/test/sequence.cpp | 89 | ||||
-rw-r--r-- | libs/evoral/test/sequence.hpp | 48 | ||||
-rw-r--r-- | libs/evoral/test/testrunner.cpp | 28 | ||||
-rw-r--r-- | libs/evoral/wscript | 9 |
4 files changed, 93 insertions, 81 deletions
diff --git a/libs/evoral/test/sequence.cpp b/libs/evoral/test/sequence.cpp index 499da8f10d..bdeb2aa477 100644 --- a/libs/evoral/test/sequence.cpp +++ b/libs/evoral/test/sequence.cpp @@ -1,84 +1,17 @@ -#include <evoral/Sequence.hpp> -#include <evoral/TypeMap.hpp> +#include "sequence.hpp" +#include <cassert> -#include <cppunit/TestFixture.h> -#include <cppunit/extensions/HelperMacros.h> +CPPUNIT_TEST_SUITE_REGISTRATION( SequenceTest ); -#include <cppunit/CompilerOutputter.h> -#include <cppunit/extensions/TestFactoryRegistry.h> -#include <cppunit/TestResult.h> -#include <cppunit/TestResultCollector.h> -#include <cppunit/TestRunner.h> -#include <cppunit/BriefTestProgressListener.h> - -using namespace Evoral; - -class DummyTypeMap : public TypeMap { -public: - virtual ~DummyTypeMap() {} - - virtual bool type_is_midi(uint32_t type) const {return true;} - - virtual uint8_t parameter_midi_type(const Parameter& param) const {return 0;} - - virtual uint32_t midi_event_type(uint8_t status) const {return 0;} - - virtual bool is_integer(const Evoral::Parameter& param) const {return true;} - - virtual Parameter new_parameter(uint32_t type, uint8_t channel, uint32_t id) const {return Parameter(type, channel, id);} - - virtual std::string to_symbol(const Parameter& param) const {return "foo";} -}; - -template<typename Time> -class MySequence : public Sequence<Time> { -public: - MySequence(DummyTypeMap&map, int size) : Sequence<Time>(map, size) {} - - boost::shared_ptr<Control> control_factory(const Parameter& param) {return boost::shared_ptr<Control>();} -}; - -class SequenceTest : public CPPUNIT_NS::TestFixture -{ - CPPUNIT_TEST_SUITE (SequenceTest); - CPPUNIT_TEST (createTest); - CPPUNIT_TEST_SUITE_END (); - - public: - void setUp (void) { - Glib::thread_init(); - } - - void tearDown (void); - - protected: - void createTest (void) { - DummyTypeMap type_map; - MySequence<double> s(type_map, 100); - } - - private: -}; - - -int -main() +void +SequenceTest::createTest (void) { + DummyTypeMap type_map; + MySequence<double> seq(type_map, 100); - CPPUNIT_NS::TestResult testresult; - - CPPUNIT_NS::TestResultCollector collectedresults; - testresult.addListener (&collectedresults); - - CPPUNIT_NS::BriefTestProgressListener progress; - testresult.addListener (&progress); - - CPPUNIT_NS::TestRunner testrunner; - testrunner.addTest (CPPUNIT_NS::TestFactoryRegistry::getRegistry ().makeTest ()); - testrunner.run (testresult); + CPPUNIT_ASSERT_EQUAL(size_t(0), seq.sysexes().size()); + CPPUNIT_ASSERT_EQUAL(size_t(100), seq.notes().size()); + CPPUNIT_ASSERT(seq.notes().begin() != seq.notes().end()); +} - CPPUNIT_NS::CompilerOutputter compileroutputter (&collectedresults, std::cerr); - compileroutputter.write (); - return collectedresults.wasSuccessful () ? 0 : 1; -} diff --git a/libs/evoral/test/sequence.hpp b/libs/evoral/test/sequence.hpp new file mode 100644 index 0000000000..63b99c6a0b --- /dev/null +++ b/libs/evoral/test/sequence.hpp @@ -0,0 +1,48 @@ +#include <cppunit/TestFixture.h> +#include <cppunit/extensions/HelperMacros.h> + +#include <evoral/Sequence.hpp> +#include <evoral/TypeMap.hpp> + + +using namespace Evoral; + +class DummyTypeMap : public TypeMap { +public: + virtual ~DummyTypeMap() {} + + virtual bool type_is_midi(uint32_t type) const {return true;} + + virtual uint8_t parameter_midi_type(const Parameter& param) const {return 0;} + + virtual uint32_t midi_event_type(uint8_t status) const {return 0;} + + virtual bool is_integer(const Evoral::Parameter& param) const {return true;} + + virtual Parameter new_parameter(uint32_t type, uint8_t channel, uint32_t id) const {return Parameter(type, channel, id);} + + virtual std::string to_symbol(const Parameter& param) const {return "foo";} +}; + +template<typename Time> +class MySequence : public Sequence<Time> { +public: + MySequence(DummyTypeMap&map, int size) : Sequence<Time>(map, size) {} + + boost::shared_ptr<Control> control_factory(const Parameter& param) {return boost::shared_ptr<Control>();} +}; + +class SequenceTest : public CppUnit::TestFixture +{ + CPPUNIT_TEST_SUITE (SequenceTest); + CPPUNIT_TEST (createTest); + CPPUNIT_TEST_SUITE_END (); + + public: + void setUp (void) { Glib::thread_init(); } + void tearDown (void) {} + + void createTest (void); + + private: +}; diff --git a/libs/evoral/test/testrunner.cpp b/libs/evoral/test/testrunner.cpp new file mode 100644 index 0000000000..81e343ec49 --- /dev/null +++ b/libs/evoral/test/testrunner.cpp @@ -0,0 +1,28 @@ +#include <cppunit/CompilerOutputter.h> +#include <cppunit/extensions/TestFactoryRegistry.h> +#include <cppunit/TestResult.h> +#include <cppunit/TestResultCollector.h> +#include <cppunit/TestRunner.h> +#include <cppunit/BriefTestProgressListener.h> + + +int +main() +{ + CppUnit::TestResult testresult; + + CppUnit::TestResultCollector collectedresults; + testresult.addListener (&collectedresults); + + CppUnit::BriefTestProgressListener progress; + testresult.addListener (&progress); + + CppUnit::TestRunner testrunner; + testrunner.addTest (CppUnit::TestFactoryRegistry::getRegistry ().makeTest ()); + testrunner.run (testresult); + + CppUnit::CompilerOutputter compileroutputter (&collectedresults, std::cerr); + compileroutputter.write (); + + return collectedresults.wasSuccessful () ? 0 : 1; +} diff --git a/libs/evoral/wscript b/libs/evoral/wscript index 508c771c76..1d94e59e68 100644 --- a/libs/evoral/wscript +++ b/libs/evoral/wscript @@ -28,7 +28,7 @@ def configure(conf): autowaf.check_tool(conf, 'compiler_cxx') autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=True) autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0', mandatory=True) - autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=True) + autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) def build(bld): # Headers @@ -62,11 +62,14 @@ def build(bld): # Unit tests obj = bld.new_task_gen('cxx', 'program') - obj.source = 'test/sequence.cpp' + obj.source = ''' + test/sequence.cpp + test/testrunner.cpp + ''' obj.includes = ['.', './src'] obj.uselib_local = 'libevoral' obj.uselib = 'CPPUNIT' - obj.target = 'sequence' + obj.target = 'run-tests' obj.install_path = '' def shutdown(): |