00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _QA_ATSC_SINGLE_VITERBI_H
00024 #define _QA_ATSC_SINGLE_VITERBI_H
00025
00026 #include <cppunit/TestCase.h>
00027 #include <cppunit/TestCaller.h>
00028 #include <cppunit/TestSuite.h>
00029 #include <cppunit/TextTestResult.h>
00030
00031 #include <atsc_single_viterbi.h>
00032 #include <atsc_basic_trellis_encoder.h>
00033
00034 class qa_atsc_single_viterbi : public CppUnit::TestCase {
00035 private:
00036 atsc_single_viterbi decoder;
00037 atsc_basic_trellis_encoder encoder;
00038
00039 public:
00040
00041 static void register_tests (CppUnit::TestSuite *suite)
00042 {
00043 suite->addTest (new CppUnit::TestCaller<qa_atsc_single_viterbi>
00044 ("single_viterbi: t0", &qa_atsc_single_viterbi::t0));
00045 suite->addTest (new CppUnit::TestCaller<qa_atsc_single_viterbi>
00046 ("single_viterbi: t1", &qa_atsc_single_viterbi::t1));
00047 }
00048
00049 private:
00050
00051 void t0 ();
00052 void t1 ();
00053 void encode_block(unsigned char *out, unsigned char *in, unsigned n);
00054 void decode_block(unsigned char *out, unsigned char *in, unsigned n, float noise_factor);
00055 float noise ();
00056
00057 };
00058
00059 #endif