From 2a5bfa6dcb6dc9b7f30887ceeb019d3b2efd6c33 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 18 Jun 2012 15:19:05 +0000 Subject: [PATCH] Basic region naming test. git-svn-id: svn://localhost/ardour2/branches/3.0@12751 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/test/region_naming_test.cc | 58 ++++++++++++++++++++++++++ libs/ardour/test/region_naming_test.h | 29 +++++++++++++ libs/ardour/wscript | 1 + 3 files changed, 88 insertions(+) create mode 100644 libs/ardour/test/region_naming_test.cc create mode 100644 libs/ardour/test/region_naming_test.h diff --git a/libs/ardour/test/region_naming_test.cc b/libs/ardour/test/region_naming_test.cc new file mode 100644 index 0000000000..464d3225b0 --- /dev/null +++ b/libs/ardour/test/region_naming_test.cc @@ -0,0 +1,58 @@ +/* + Copyright (C) 2012 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "ardour/playlist.h" +#include "ardour/region.h" +#include "ardour/region_factory.h" +#include "region_naming_test.h" + +CPPUNIT_TEST_SUITE_REGISTRATION (RegionNamingTest); + +using namespace std; +using namespace ARDOUR; + +void +RegionNamingTest::basicsTest () +{ + for (int i = 0; i < 64; ++i) { + boost::shared_ptr r = RegionFactory::create (_r[0], true); + stringstream s; + s << "ar0." << (i + 1); + CPPUNIT_ASSERT_EQUAL (s.str(), r->name()); + } + + _r[0]->set_name ("foo"); + + for (int i = 0; i < 64; ++i) { + boost::shared_ptr r = RegionFactory::create (_r[0], true); + stringstream s; + s << "foo." << (i + 1); + CPPUNIT_ASSERT_EQUAL (s.str(), r->name()); + } + + for (int i = 0; i < 64; ++i) { + boost::shared_ptr rA = RegionFactory::create (_r[0], true); + boost::shared_ptr rB = RegionFactory::create (rA, true); + stringstream s; + s << "foo." << (i * 2 + 64 + 1); + CPPUNIT_ASSERT_EQUAL (s.str(), rA->name()); + stringstream t; + t << "foo." << (i * 2 + 64 + 2); + CPPUNIT_ASSERT_EQUAL (s.str(), rA->name()); + } +} diff --git a/libs/ardour/test/region_naming_test.h b/libs/ardour/test/region_naming_test.h new file mode 100644 index 0000000000..695792548a --- /dev/null +++ b/libs/ardour/test/region_naming_test.h @@ -0,0 +1,29 @@ +/* + Copyright (C) 2012 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "audio_region_test.h" + +class RegionNamingTest : public AudioRegionTest +{ + CPPUNIT_TEST_SUITE (RegionNamingTest); + CPPUNIT_TEST (basicsTest); + CPPUNIT_TEST_SUITE_END (); + +public: + void basicsTest (); +}; diff --git a/libs/ardour/wscript b/libs/ardour/wscript index 89efbdab49..78a0ab8eb2 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -443,6 +443,7 @@ def build(bld): test/playlist_equivalent_regions_test.cc test/control_surfaces_test.cc test/combine_regions_test.cc + test/region_naming_test.cc test/mtdm_test.cc test/testrunner.cc '''.split() -- 2.30.2