globally change all use of "frame" to refer to audio into "sample".
[ardour.git] / libs / audiographer / tests / general / chunker_test.cc
index 12b5da5dbc1efdece9c5250956f0a51539f36850..b7896e23e675ee76c1ee48e76d7c9cc061e054b3 100644 (file)
@@ -20,10 +20,10 @@ class ChunkerTest : public CppUnit::TestFixture
   public:
        void setUp()
        {
-               frames = 128;
-               random_data = TestUtils::init_random_data(frames);
+               samples = 128;
+               random_data = TestUtils::init_random_data(samples);
                sink.reset (new VectorSink<float>());
-               chunker.reset (new Chunker<float>(frames * 2));
+               chunker.reset (new Chunker<float>(samples * 2));
        }
 
        void tearDown()
@@ -34,119 +34,119 @@ class ChunkerTest : public CppUnit::TestFixture
        void testSynchronousProcess()
        {
                chunker->add_output (sink);
-               framecnt_t frames_output = 0;
+               samplecnt_t samples_output = 0;
 
-               ProcessContext<float> const context (random_data, frames, 1);
+               ProcessContext<float> const context (random_data, samples, 1);
 
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL ((framecnt_t) 0, frames_output);
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL ((samplecnt_t) 0, samples_output);
 
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL (2 * frames, frames_output);
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, sink->get_array(), frames));
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[frames], frames));
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL (2 * samples, samples_output);
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, sink->get_array(), samples));
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[samples], samples));
 
                sink->reset();
 
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL ((framecnt_t) 0, frames_output);
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL ((samplecnt_t) 0, samples_output);
 
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL (2 * frames, frames_output);
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, sink->get_array(), frames));
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[frames], frames));
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL (2 * samples, samples_output);
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, sink->get_array(), samples));
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[samples], samples));
        }
 
        void testAsynchronousProcess()
        {
-               assert (frames % 2 == 0);
+               assert (samples % 2 == 0);
 
                chunker->add_output (sink);
-               framecnt_t frames_output = 0;
+               samplecnt_t samples_output = 0;
 
-               ProcessContext<float> const half_context (random_data, frames / 2, 1);
-               ProcessContext<float> const context (random_data, frames, 1);
+               ProcessContext<float> const half_context (random_data, samples / 2, 1);
+               ProcessContext<float> const context (random_data, samples, 1);
 
                // 0.5
                chunker->process (half_context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL ((framecnt_t) 0, frames_output);
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL ((samplecnt_t) 0, samples_output);
 
                // 1.5
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL ((framecnt_t) 0, frames_output);
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL ((samplecnt_t) 0, samples_output);
 
                // 2.5
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL (2 * frames, frames_output);
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, sink->get_array(), frames / 2));
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[frames / 2], frames));
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[ 3 * frames / 2], frames / 2));
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL (2 * samples, samples_output);
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, sink->get_array(), samples / 2));
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[samples / 2], samples));
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[ 3 * samples / 2], samples / 2));
 
                sink->reset();
 
                // 3.5
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL ((framecnt_t) 0, frames_output);
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL ((samplecnt_t) 0, samples_output);
 
                // 4.0
                chunker->process (half_context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL (2 * frames, frames_output);
-               CPPUNIT_ASSERT (TestUtils::array_equals (&random_data[frames / 2], sink->get_array(), frames / 2));
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[frames / 2], frames));
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[ 3 * frames / 2], frames / 2));
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL (2 * samples, samples_output);
+               CPPUNIT_ASSERT (TestUtils::array_equals (&random_data[samples / 2], sink->get_array(), samples / 2));
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[samples / 2], samples));
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[ 3 * samples / 2], samples / 2));
        }
 
        void testChoppingProcess()
        {
                sink.reset (new AppendingVectorSink<float>());
 
-               assert (frames % 2 == 0);
-               chunker.reset (new Chunker<float>(frames / 4));
+               assert (samples % 2 == 0);
+               chunker.reset (new Chunker<float>(samples / 4));
 
                chunker->add_output (sink);
-               framecnt_t frames_output = 0;
+               samplecnt_t samples_output = 0;
 
-               ProcessContext<float> const half_context (random_data, frames / 2, 1);
-               ProcessContext<float> const context (random_data, frames, 1);
+               ProcessContext<float> const half_context (random_data, samples / 2, 1);
+               ProcessContext<float> const context (random_data, samples, 1);
 
                // 0.5
                chunker->process (half_context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL ((framecnt_t) frames / 2, frames_output);
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL ((samplecnt_t) samples / 2, samples_output);
 
                // 1.5
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL ((framecnt_t) frames / 2 * 3, frames_output);
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL ((samplecnt_t) samples / 2 * 3, samples_output);
 
                // 2.5
                chunker->process (context);
-               frames_output = sink->get_data().size();
-               CPPUNIT_ASSERT_EQUAL (frames / 2 * 5, frames_output);
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, sink->get_array(), frames / 2));
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[frames / 2], frames));
-               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[ 3 * frames / 2], frames / 2));
+               samples_output = sink->get_data().size();
+               CPPUNIT_ASSERT_EQUAL (samples / 2 * 5, samples_output);
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, sink->get_array(), samples / 2));
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[samples / 2], samples));
+               CPPUNIT_ASSERT (TestUtils::array_equals (random_data, &sink->get_array()[ 3 * samples / 2], samples / 2));
        }
 
        void testEndOfInputFlagHandling()
        {
                boost::shared_ptr<ProcessContextGrabber<float> > grabber(new ProcessContextGrabber<float>());
 
-               assert (frames % 2 == 0);
-               chunker.reset (new Chunker<float>(frames));
+               assert (samples % 2 == 0);
+               chunker.reset (new Chunker<float>(samples));
                chunker->add_output (grabber);
 
-               ProcessContext<float> const half_context (random_data, frames / 2, 1);
-               ProcessContext<float> const context (random_data, frames, 1);
+               ProcessContext<float> const half_context (random_data, samples / 2, 1);
+               ProcessContext<float> const context (random_data, samples, 1);
                context.set_flag(ProcessContext<>::EndOfInput);
 
                // Process 0.5 then 1.0
@@ -158,12 +158,12 @@ class ChunkerTest : public CppUnit::TestFixture
                ProcessContextGrabber<float>::ContextList::iterator it = grabber->contexts.begin();
 
                // first 1.0 not end of input
-               CPPUNIT_ASSERT_EQUAL(it->frames(), frames);
+               CPPUNIT_ASSERT_EQUAL(it->samples(), samples);
                CPPUNIT_ASSERT(!it->has_flag(ProcessContext<>::EndOfInput));
 
                // Then 0.5 with end of input
                ++it;
-               CPPUNIT_ASSERT_EQUAL(it->frames(), frames / 2);
+               CPPUNIT_ASSERT_EQUAL(it->samples(), samples / 2);
                CPPUNIT_ASSERT(it->has_flag(ProcessContext<>::EndOfInput));
        }
 
@@ -172,7 +172,7 @@ class ChunkerTest : public CppUnit::TestFixture
        boost::shared_ptr<VectorSink<float> > sink;
 
        float * random_data;
-       framecnt_t frames;
+       samplecnt_t samples;
 };
 
 CPPUNIT_TEST_SUITE_REGISTRATION (ChunkerTest);