certi-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-cvs] certi/libHLA TestHLAtypes.cc


From: certi-cvs
Subject: [certi-cvs] certi/libHLA TestHLAtypes.cc
Date: Thu, 15 Oct 2009 15:33:52 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     Eric NOULARD <erk>      09/10/15 15:33:52

Modified files:
        libHLA         : TestHLAtypes.cc 

Log message:
        Add test for HLAbasicType
        Missing OPLE, OPBE.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libHLA/TestHLAtypes.cc?cvsroot=certi&r1=1.4&r2=1.5

Patches:
Index: TestHLAtypes.cc
===================================================================
RCS file: /sources/certi/certi/libHLA/TestHLAtypes.cc,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- TestHLAtypes.cc     12 Jun 2009 08:29:15 -0000      1.4
+++ TestHLAtypes.cc     15 Oct 2009 15:33:51 -0000      1.5
@@ -11,7 +11,7 @@
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 // Lesser General Public License for more details.
 //
-// $Id: TestHLAtypes.cc,v 1.4 2009/06/12 08:29:15 gotthardp Exp $
+// $Id: TestHLAtypes.cc,v 1.5 2009/10/15 15:33:51 erk Exp $
 // ----------------------------------------------------------------------------
 
 #include <memory>
@@ -21,6 +21,140 @@
 
 using namespace libhla;
 
+int test0() {
+       int retval=0;
+       std::stringstream result2b;
+       std::stringstream result4b;
+       std::stringstream result8b;
+       std::string       expected;
+
+       HLAdata<HLAinteger16LE> I16LE;
+       HLAdata<HLAinteger32LE> I32LE;
+       HLAdata<HLAinteger64LE> I64LE;
+       HLAdata<HLAfloat32LE>   F32LE;
+       HLAdata<HLAfloat64LE>   F64LE;
+       HLAdata<HLAoctetPairLE> OPLE;
+
+       HLAdata<HLAinteger16BE> I16BE;
+       HLAdata<HLAinteger32BE> I32BE;
+       HLAdata<HLAinteger64BE> I64BE;
+       HLAdata<HLAfloat32BE>   F32BE;
+       HLAdata<HLAfloat64BE>   F64BE;
+       HLAdata<HLAoctetPairBE> OPBE;
+
+       (*I16LE) = 1;
+       expected = "0000:  01 00\n";
+       I16LE.print(result2b);
+       if(result2b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result2b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*I16BE) = 1;
+       expected = "0000:  00 01\n";
+       result2b.seekp(0);
+       I16BE.print(result2b);
+       if(result2b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result2b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*I32LE) = -255;
+       expected = "0000:  01 ff ff ff\n";
+       result4b.seekp(0);
+       I32LE.print(result4b);
+       if(result4b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result4b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*I32BE) = -255;
+       expected = "0000:  ff ff ff 01\n";
+       result4b.seekp(0);
+       I32BE.print(result4b);
+       if(result4b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result4b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*I64LE) = 256;
+       expected = "0000:  00 01 00 00 00 00 00 00\n";
+       result8b.seekp(0);
+       I64LE.print(result8b);
+       if(result8b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result8b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*I64BE) = 256;
+       expected = "0000:  00 00 00 00 00 00 01 00\n";
+       result8b.seekp(0);
+       I64BE.print(result8b);
+       if(result8b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result8b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*F32LE) = 10.0;
+       expected = "0000:  00 00 20 41\n";
+       result4b.seekp(0);
+       F32LE.print(result4b);
+       if(result4b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result4b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*F32BE) = 10.0;
+       expected = "0000:  41 20 00 00\n";
+       result4b.seekp(0);
+       F32BE.print(result4b);
+       if(result4b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result4b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*F64LE) = 10.0;
+       expected = "0000:  00 00 00 00 00 00 24 40\n";
+       result8b.seekp(0);
+       F64LE.print(result8b);
+       if(result8b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result8b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       (*F64BE) = 10.0;
+       expected = "0000:  40 24 00 00 00 00 00 00\n";
+       result8b.seekp(0);
+       F64BE.print(result8b);
+       if(result8b.str()!=expected) {
+               std::cerr << "test0: <output> does not match expected result" 
<< std::endl
+                               << "result="   << result8b.str() << std::endl
+                               << "expected=" << expected << std::endl;
+               retval+= 1;
+       }
+
+       /* FIXME need to add test for OPLE/OPBE */
+       return retval;
+} /* end of test0 */
+
 // IEEE 1516.2, Section 4.12.9.1
 int test1()
 {
@@ -221,7 +355,7 @@
 #else
         << "little-endian" << std::endl;
 #endif
-
+       result += test0();
     result += test1();
     result += test3();
     result += test4();
@@ -232,4 +366,4 @@
     return result;
 }
 
-// $Id: TestHLAtypes.cc,v 1.4 2009/06/12 08:29:15 gotthardp Exp $
+// $Id: TestHLAtypes.cc,v 1.5 2009/10/15 15:33:51 erk Exp $




reply via email to

[Prev in Thread] Current Thread [Next in Thread]