summaryrefslogtreecommitdiff
path: root/cesar/maximus/channel/src/ChannelMappingTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/maximus/channel/src/ChannelMappingTest.cpp')
-rw-r--r--cesar/maximus/channel/src/ChannelMappingTest.cpp430
1 files changed, 430 insertions, 0 deletions
diff --git a/cesar/maximus/channel/src/ChannelMappingTest.cpp b/cesar/maximus/channel/src/ChannelMappingTest.cpp
new file mode 100644
index 0000000000..08e442ab0a
--- /dev/null
+++ b/cesar/maximus/channel/src/ChannelMappingTest.cpp
@@ -0,0 +1,430 @@
+
+#include "ChannelMappingTest.h"
+
+#include "ChannelMapping.h"
+
+#include "Logger.h"
+#include "Error.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION (ChannelMappingTest);
+
+
+void ChannelMappingTest::setUp (void)
+{
+ logTest();
+
+ mpChannelMapping = new ChannelMapping();
+ CPPUNIT_ASSERT_MESSAGE ( "Channel Mapping pointer is NULL", NULL != mpChannelMapping );
+}
+
+
+void ChannelMappingTest::tearDown (void)
+{
+ logTest();
+
+ if (NULL != mpChannelMapping)
+ {
+ delete (mpChannelMapping);
+ mpChannelMapping = NULL;
+ }
+}
+
+
+void ChannelMappingTest::setCodeTest (void)
+{
+ logTest();
+
+ unsigned short int c = 0xF;
+ CPPUNIT_ASSERT_MESSAGE ( "setCode failed",
+ (mpChannelMapping->setCode(c))
+ && (c == mpChannelMapping->getCode()) );
+
+ Channel_Mod mod = MAXIMUS_CHANNEL_MOD_QAM16; // 4 bits
+ unsigned char payload[512];
+ memset(payload, 0x1E, 512);
+ unsigned int index = 500 * 8;
+ c = 0xE;
+ CPPUNIT_ASSERT_MESSAGE ( "setCode failed",
+ (mpChannelMapping->setCode(mod, 512, payload, index))
+ && (c == mpChannelMapping->getCode())
+ && (500 * 8 + 4 == index) );
+ c = 0x1;
+ CPPUNIT_ASSERT_MESSAGE ( "setCode failed",
+ (mpChannelMapping->setCode(mod, 512, payload, index))
+ && (c == mpChannelMapping->getCode())
+ && (501 * 8 == index) );
+
+ mod = MAXIMUS_CHANNEL_MOD_QAM1024; // 10 bits
+ index += 4;
+ c = 0x1E1;
+ CPPUNIT_ASSERT_MESSAGE ( "setCode failed",
+ (mpChannelMapping->setCode(mod, 512, payload, index))
+ && (c == mpChannelMapping->getCode())
+ && (502 * 8 + 6 == index) );
+
+ mod = MAXIMUS_CHANNEL_MOD_QAM256; // 8 bits
+ c = 0x78;
+ CPPUNIT_ASSERT_MESSAGE ( "setCode failed",
+ (mpChannelMapping->setCode(mod, 512, payload, index))
+ && (c == mpChannelMapping->getCode())
+ && (503 * 8 + 6 == index) );
+
+ // Test zero padding
+ mod = MAXIMUS_CHANNEL_MOD_QAM64; // 6 bits
+ index = 511 * 8 + 6;
+ c = 0x0;
+ CPPUNIT_ASSERT_MESSAGE ( "setCode failed",
+ (mpChannelMapping->setCode(mod, 512, payload, index))
+ && (c == mpChannelMapping->getCode())
+ && (512 * 8 + 4 == index) );
+ index = 511 * 8 + 4;
+ c = 0x1;
+ CPPUNIT_ASSERT_MESSAGE ( "setCode failed",
+ (mpChannelMapping->setCode(mod, 512, payload, index))
+ //&& (c == mpChannelMapping->getCode())
+ && (512 * 8 + 2 == index) );
+}
+
+
+void ChannelMappingTest::computeCodeTest (void)
+{
+ logTest();
+
+ // Basic test
+ ChannelPoint p(1, 3);
+ mpChannelMapping->setPoint(p);
+ Channel_Mod mod = MAXIMUS_CHANNEL_MOD_QAM16;
+ unsigned short int c = 0xE;
+ CPPUNIT_ASSERT_MESSAGE ( "code failed",
+ c == mpChannelMapping->computeCode(mod) );
+
+ /* Test all possible coordinates for all modulations. */
+ short int coordinate[32] = { -1, 1, // BPSK and QPSK
+ -3, 3, // QAM8 and QAM16
+ -7, 7, -5, 5, // QAM64
+ -15, 15, -13, 13, -9, 9, -11, 11, // QAM256
+ -31, 31, -29, 29, -25, 25, -27, 27, -17, 17, -19, 19, -23, 23, -21, 21 }; // QAM1024
+ ChannelPoint point[1024];
+ int n, N;
+
+ // Test for BPSK
+ mod = MAXIMUS_CHANNEL_MOD_BPSK;
+ N = 2;
+ for (n=0; n<N; n++)
+ {
+ mpChannelMapping->setCode(n);
+ mpChannelMapping->computePoint(mod);
+ CPPUNIT_ASSERT_MESSAGE ( "computeCode BPSK failed",
+ n == mpChannelMapping->computeCode(mod) );
+ }
+ for (n=0; n<N; n++)
+ {
+ point[n].I = coordinate[n%N];
+ point[n].Q = 0;
+ mpChannelMapping->setCode(n);
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint BPSK failed",
+ point[n] == mpChannelMapping->computePoint(mod) );
+ CPPUNIT_ASSERT_MESSAGE ( "computeCode BPSK failed",
+ n == mpChannelMapping->computeCode(mod) );
+ }
+
+ // Test for QPSK
+ mod = MAXIMUS_CHANNEL_MOD_QPSK;
+ N = 4;
+ for (n=0; n<N; n++)
+ {
+ point[n].I = coordinate[n%(N/2)];
+ point[n].Q = coordinate[n/(N/2)];
+ mpChannelMapping->setCode(n);
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint QPSK failed",
+ point[n] == mpChannelMapping->computePoint(mod) );
+ CPPUNIT_ASSERT_MESSAGE ( "computeCode QPSK failed",
+ n == mpChannelMapping->computeCode(mod) );
+ }
+
+ // Test for QAM8
+ mod = MAXIMUS_CHANNEL_MOD_QAM8;
+ N = 8;
+ point[0].I = -1;
+ point[1].I = -3;
+ point[2].I = 1;
+ point[3].I = 3;
+ point[4].I = -1;
+ point[5].I = -3;
+ point[6].I = 1;
+ point[7].I = 3;
+ for (n=0; n<N; n++)
+ {
+ point[n].Q = (n > 3) ? 1.29f : -1.29f;
+ mpChannelMapping->setCode(n);
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint QAM8 failed",
+ point[n] == mpChannelMapping->computePoint(mod) );
+ CPPUNIT_ASSERT_MESSAGE ( "computeCode QAM8 failed",
+ n == mpChannelMapping->computeCode(mod) );
+ }
+
+ // Test for QAM16
+ mod = MAXIMUS_CHANNEL_MOD_QAM16;
+ N = 16;
+ for (n=0; n<N; n++)
+ {
+ mpChannelMapping->setCode(n);
+ mpChannelMapping->computePoint(mod);
+ CPPUNIT_ASSERT_MESSAGE ( "computeCode QAM16 failed",
+ n == mpChannelMapping->computeCode(mod) );
+ }
+
+ // Test for QAM64
+ mod = MAXIMUS_CHANNEL_MOD_QAM64;
+ N = 64;
+ for (n=0; n<N; n++)
+ {
+ mpChannelMapping->setCode(n);
+ mpChannelMapping->computePoint(mod);
+ CPPUNIT_ASSERT_MESSAGE ( "computeCode QPSK failed",
+ n == mpChannelMapping->computeCode(mod) );
+ }
+
+ // Test for QAM256
+ mod = MAXIMUS_CHANNEL_MOD_QAM256;
+ N = 256;
+ for (n=0; n<N; n++)
+ {
+ mpChannelMapping->setCode(n);
+ mpChannelMapping->computePoint(mod);
+ CPPUNIT_ASSERT_MESSAGE ( "computeCode QAM256 failed",
+ n == mpChannelMapping->computeCode(mod) );
+ }
+
+ // Test for QAM1024
+ mod = MAXIMUS_CHANNEL_MOD_QAM1024;
+ N = 1024;
+ for (n=0; n<N; n++)
+ {
+ mpChannelMapping->setCode(n);
+ mpChannelMapping->computePoint(mod);
+ CPPUNIT_ASSERT_MESSAGE ( "computeCode QAM1024 failed",
+ n == mpChannelMapping->computeCode(mod) );
+ }
+}
+
+
+void ChannelMappingTest::computePointTest (void)
+{
+ logTest();
+
+ // Basic test
+ mpChannelMapping->setCode(0xE);
+ Channel_Mod mod = MAXIMUS_CHANNEL_MOD_QAM16;
+ unsigned short int i = 1, q = 3;
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint failed",
+ (i == mpChannelMapping->computePoint(mod).I)
+ && (q == mpChannelMapping->computePoint(mod).Q) );
+
+ /* Test all possible code values for all modulations. */
+ ChannelMapping code[1024];
+ int n;
+ for (n=0; n<1024; n++)
+ {
+ code[n].setCode(n);
+ }
+
+ // Test for BPSK
+ mod = MAXIMUS_CHANNEL_MOD_BPSK;
+ for (n=0; n<2; n++)
+ {
+ code[n].computePoint(mod);
+ }
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint BPSK failed",
+ (-1 == code[0].getI()) && (0 == code[0].getQ())
+ && (1 == code[1].getI()) && (0 == code[1].getQ()) );
+
+ // Test for QPSK
+ mod = MAXIMUS_CHANNEL_MOD_QPSK;
+ for (n=0; n<4; n++)
+ {
+ code[n].computePoint(mod);
+ }
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint QPSK failed",
+ (-1 == code[0].getI()) && (-1 == code[0].getQ())
+ && (1 == code[1].getI()) && (-1 == code[1].getQ())
+ && (-1 == code[2].getI()) && (1 == code[2].getQ())
+ && (1 == code[3].getI()) && (1 == code[3].getQ()) );
+
+ // Test for QAM8
+ mod = MAXIMUS_CHANNEL_MOD_QAM8;
+ for (n=0; n<8; n++)
+ {
+ code[n].computePoint(mod);
+ }
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint QAM8 failed",
+ (-1 == code[0].getI()) && (-1.29f == code[0].getQ())
+ && (-3 == code[1].getI()) && (-1.29f == code[1].getQ())
+ && (1 == code[2].getI()) && (-1.29f == code[2].getQ())
+ && (3 == code[3].getI()) && (-1.29f == code[3].getQ())
+ && (-1 == code[4].getI()) && (1.29f == code[4].getQ())
+ && (-3 == code[5].getI()) && (1.29f == code[5].getQ())
+ && (1 == code[6].getI()) && (1.29f == code[6].getQ())
+ && (3 == code[7].getI()) && (1.29f == code[7].getQ()) );
+
+ // Test for QAM16
+ mod = MAXIMUS_CHANNEL_MOD_QAM16;
+ for (n=0; n<16; n++)
+ {
+ code[n].computePoint(mod);
+ }
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint QAM16 failed",
+ (-1 == code[0].getI()) && (-1 == code[0].getQ())
+ && (-3 == code[1].getI()) && (-1 == code[1].getQ())
+ && (1 == code[2].getI()) && (-1 == code[2].getQ())
+ && (3 == code[3].getI()) && (-1 == code[3].getQ())
+ && (-1 == code[4].getI()) && (-3 == code[4].getQ())
+ && (-3 == code[5].getI()) && (-3 == code[5].getQ())
+ && (1 == code[6].getI()) && (-3 == code[6].getQ())
+ && (3 == code[7].getI()) && (-3 == code[7].getQ())
+ && (-1 == code[8].getI()) && (1 == code[8].getQ())
+ && (-3 == code[9].getI()) && (1 == code[9].getQ())
+ && (1 == code[10].getI()) && (1 == code[10].getQ())
+ && (3 == code[11].getI()) && (1 == code[11].getQ())
+ && (-1 == code[12].getI()) && (3 == code[12].getQ())
+ && (-3 == code[13].getI()) && (3 == code[13].getQ())
+ && (1 == code[14].getI()) && (3 == code[14].getQ())
+ && (3 == code[15].getI()) && (3 == code[15].getQ()) );
+
+ // Test for QAM64
+ mod = MAXIMUS_CHANNEL_MOD_QAM64;
+ for (n=0; n<64; n++)
+ {
+ code[n].computePoint(mod);
+ }
+ short int coordinate64[8] = { -1, -3, -7, -5, 1, 3, 7, 5 };
+ for (n=0; n<64; n+=8)
+ {
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint QAM64 failed",
+ (coordinate64[0] == code[n].getI()) && (coordinate64[n/8] == code[n].getQ())
+ && (coordinate64[1] == code[n+1].getI()) && (coordinate64[n/8] == code[n+1].getQ())
+ && (coordinate64[2] == code[n+2].getI()) && (coordinate64[n/8] == code[n+2].getQ())
+ && (coordinate64[3] == code[n+3].getI()) && (coordinate64[n/8] == code[n+3].getQ())
+ && (coordinate64[4] == code[n+4].getI()) && (coordinate64[n/8] == code[n+4].getQ())
+ && (coordinate64[5] == code[n+5].getI()) && (coordinate64[n/8] == code[n+5].getQ())
+ && (coordinate64[6] == code[n+6].getI()) && (coordinate64[n/8] == code[n+6].getQ())
+ && (coordinate64[7] == code[n+7].getI()) && (coordinate64[n/8] == code[n+7].getQ()) );
+ }
+
+ // Test for QAM256
+ mod = MAXIMUS_CHANNEL_MOD_QAM256;
+ for (n=0; n<256; n++)
+ {
+ code[n].computePoint(mod);
+ }
+ short int coordinate256[16] = { -1, -3, -7, -5, -15, -13, -9, -11, 1, 3, 7, 5, 15, 13, 9, 11 };
+ for (n=0; n<256; n+=16)
+ {
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint QAM256 failed",
+ (coordinate256[0] == code[n].getI()) && (coordinate256[n/16] == code[n].getQ())
+ && (coordinate256[1] == code[n+1].getI()) && (coordinate256[n/16] == code[n+1].getQ())
+ && (coordinate256[2] == code[n+2].getI()) && (coordinate256[n/16] == code[n+2].getQ())
+ && (coordinate256[3] == code[n+3].getI()) && (coordinate256[n/16] == code[n+3].getQ())
+ && (coordinate256[4] == code[n+4].getI()) && (coordinate256[n/16] == code[n+4].getQ())
+ && (coordinate256[5] == code[n+5].getI()) && (coordinate256[n/16] == code[n+5].getQ())
+ && (coordinate256[6] == code[n+6].getI()) && (coordinate256[n/16] == code[n+6].getQ())
+ && (coordinate256[7] == code[n+7].getI()) && (coordinate256[n/16] == code[n+7].getQ())
+ && (coordinate256[8] == code[n+8].getI()) && (coordinate256[n/16] == code[n+8].getQ())
+ && (coordinate256[9] == code[n+9].getI()) && (coordinate256[n/16] == code[n+9].getQ())
+ && (coordinate256[10] == code[n+10].getI()) && (coordinate256[n/16] == code[n+10].getQ())
+ && (coordinate256[11] == code[n+11].getI()) && (coordinate256[n/16] == code[n+11].getQ())
+ && (coordinate256[12] == code[n+12].getI()) && (coordinate256[n/16] == code[n+12].getQ())
+ && (coordinate256[13] == code[n+13].getI()) && (coordinate256[n/16] == code[n+13].getQ())
+ && (coordinate256[14] == code[n+14].getI()) && (coordinate256[n/16] == code[n+14].getQ())
+ && (coordinate256[15] == code[n+15].getI()) && (coordinate256[n/16] == code[n+15].getQ()) );
+ }
+
+ // Test for QAM1024
+ mod = MAXIMUS_CHANNEL_MOD_QAM1024;
+ for (n=0; n<1024; n++)
+ {
+ code[n].computePoint(mod);
+ }
+ short int coordinate1024[32] = { -1, -3, -7, -5, -15, -13, -9, -11, -31, -29, -25, -27, -17, -19, -23, -21, \
+ 1, 3, 7, 5, 15, 13, 9, 11, 31, 29, 25, 27, 17, 19, 23, 21 };
+ for (n=0; n<1024; n+=32)
+ {
+ CPPUNIT_ASSERT_MESSAGE ( "computePoint QAM1024 failed",
+ (coordinate1024[0] == code[n].getI()) && (coordinate1024[n/32] == code[n].getQ())
+ && (coordinate1024[1] == code[n+1].getI()) && (coordinate1024[n/32] == code[n+1].getQ())
+ && (coordinate1024[2] == code[n+2].getI()) && (coordinate1024[n/32] == code[n+2].getQ())
+ && (coordinate1024[3] == code[n+3].getI()) && (coordinate1024[n/32] == code[n+3].getQ())
+ && (coordinate1024[4] == code[n+4].getI()) && (coordinate1024[n/32] == code[n+4].getQ())
+ && (coordinate1024[5] == code[n+5].getI()) && (coordinate1024[n/32] == code[n+5].getQ())
+ && (coordinate1024[6] == code[n+6].getI()) && (coordinate1024[n/32] == code[n+6].getQ())
+ && (coordinate1024[7] == code[n+7].getI()) && (coordinate1024[n/32] == code[n+7].getQ())
+ && (coordinate1024[8] == code[n+8].getI()) && (coordinate1024[n/32] == code[n+8].getQ())
+ && (coordinate1024[9] == code[n+9].getI()) && (coordinate1024[n/32] == code[n+9].getQ())
+ && (coordinate1024[10] == code[n+10].getI()) && (coordinate1024[n/32] == code[n+10].getQ())
+ && (coordinate1024[11] == code[n+11].getI()) && (coordinate1024[n/32] == code[n+11].getQ())
+ && (coordinate1024[12] == code[n+12].getI()) && (coordinate1024[n/32] == code[n+12].getQ())
+ && (coordinate1024[13] == code[n+13].getI()) && (coordinate1024[n/32] == code[n+13].getQ())
+ && (coordinate1024[14] == code[n+14].getI()) && (coordinate1024[n/32] == code[n+14].getQ())
+ && (coordinate1024[15] == code[n+15].getI()) && (coordinate1024[n/32] == code[n+15].getQ())
+ && (coordinate1024[16] == code[n+16].getI()) && (coordinate1024[n/32] == code[n+16].getQ())
+ && (coordinate1024[17] == code[n+17].getI()) && (coordinate1024[n/32] == code[n+17].getQ())
+ && (coordinate1024[18] == code[n+18].getI()) && (coordinate1024[n/32] == code[n+18].getQ())
+ && (coordinate1024[19] == code[n+19].getI()) && (coordinate1024[n/32] == code[n+19].getQ())
+ && (coordinate1024[20] == code[n+20].getI()) && (coordinate1024[n/32] == code[n+20].getQ())
+ && (coordinate1024[21] == code[n+21].getI()) && (coordinate1024[n/32] == code[n+21].getQ())
+ && (coordinate1024[22] == code[n+22].getI()) && (coordinate1024[n/32] == code[n+22].getQ())
+ && (coordinate1024[23] == code[n+23].getI()) && (coordinate1024[n/32] == code[n+23].getQ())
+ && (coordinate1024[24] == code[n+24].getI()) && (coordinate1024[n/32] == code[n+24].getQ())
+ && (coordinate1024[25] == code[n+25].getI()) && (coordinate1024[n/32] == code[n+25].getQ())
+ && (coordinate1024[26] == code[n+26].getI()) && (coordinate1024[n/32] == code[n+26].getQ())
+ && (coordinate1024[27] == code[n+27].getI()) && (coordinate1024[n/32] == code[n+27].getQ())
+ && (coordinate1024[28] == code[n+28].getI()) && (coordinate1024[n/32] == code[n+28].getQ())
+ && (coordinate1024[29] == code[n+29].getI()) && (coordinate1024[n/32] == code[n+29].getQ())
+ && (coordinate1024[30] == code[n+30].getI()) && (coordinate1024[n/32] == code[n+30].getQ())
+ && (coordinate1024[31] == code[n+31].getI()) && (coordinate1024[n/32] == code[n+31].getQ()) );
+ }
+}
+
+
+void ChannelMappingTest::retrievePointTest (void)
+{
+ logTest();
+
+ // Test for BPSK
+ Channel_Mod mod = MAXIMUS_CHANNEL_MOD_BPSK;
+ mpChannelMapping->setPoint(ChannelPoint(1.1, 0.1));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(1, 0) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(-2.3456789, 3));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(-1, 0) == mpChannelMapping->retrievePoint(mod) );
+
+ // Test for QPSK
+ mod = MAXIMUS_CHANNEL_MOD_QPSK;
+ mpChannelMapping->setPoint(ChannelPoint(0, 2));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(1, 1) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(2, -3));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(1, -1) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(-3, 0));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(-1, 1) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(-2.3456789, -0.00000000001));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(-1, -1) == mpChannelMapping->retrievePoint(mod) );
+
+ // Test for QAM8
+ mod = MAXIMUS_CHANNEL_MOD_QAM8;
+ mpChannelMapping->setPoint(ChannelPoint(-2, -0.1));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(-1, -1.29f) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(-2.1, -10));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(-3, -1.29f) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(1.9, -0.1));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(1, -1.29) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(2.3456789, -0.00000000001));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(3, -1.29f) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(-0.1, 0));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(-1, 1.29f) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(-4, 0));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(-3, 1.29f) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(0, 0));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(1, 1.29f) == mpChannelMapping->retrievePoint(mod) );
+ mpChannelMapping->setPoint(ChannelPoint(2.3456789, 0.00000000001));
+ CPPUNIT_ASSERT_MESSAGE ( "retrievePoint BPSK failed", ChannelPoint(3, 1.29f) == mpChannelMapping->retrievePoint(mod) );
+}
+