📄 tasn.cpp
字号:
CAsnGraphicString cString2;
CAsnBuffer b;
if ( cString.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cString2.Serialize( b, FALSE ) )
cout << "string2 is : " << (LPASNCHARTYPE)cString2 << endl;
WaitForNextTest( "CAsnGraphicString has been tested ! " );
}
void CTestAsn::TestAsnIa5String()
{
cout << "Test CAsnIa5String *************************************" << endl;
CAsnIa5String cString("asdfasdfasdf"), cString2;
cout << "string is : " << (LPASNCHARTYPE)cString << endl;
CAsnBuffer b;
if ( cString.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cString2.Serialize( b, FALSE ) )
cout << "string2 is : " << (LPASNCHARTYPE)cString2 << endl;
WaitForNextTest( "CAsnIa5String has been tested ! " );
}
void CTestAsn::TestAsnInteger()
{
cout << "Test CAsnInteger *************************************" << endl;
CAsnInteger cInt;
cInt = 2;
cout << "int1 is : " << (ASNINTEGERTYPE)cInt << endl;
CAsnInteger cInt2( cInt );
cout << "int2 is : " << (ASNINTEGERTYPE)cInt2 << endl;
CAsnInteger cInt3( 3 );
ASNINTEGERTYPE tInt3;
cInt3.Get( tInt3 );
cout << "int3 is : " << tInt3 << endl;
CAsnInteger cInt4;
cInt4.InstallLimitedValues( 3, 1, 2, 3 );
cInt4 = 1;
cout << "int4 is : " << cInt4.Get() << endl;
CAsnInteger cInt5(5);
cout << "int5 is : " << cInt5.Get() << endl;
cInt5 = cInt4;
cout << "int5 = int4, int5 is : " << cInt5.Get() << endl;
cInt4 = cInt3;
cout << "int4 = int3, int4 is : " << cInt4.Get() << endl;
cout << "int1 == int3 : " << (cInt == cInt3) << endl;
cout << "int1 != int3 : " << (cInt != cInt3) << endl;
cout << "int1 < int3 : " << (cInt < (ASNINTEGERTYPE)cInt3) << endl;
cout << "int1 > int3 : " << ((ASNINTEGERTYPE)cInt > (ASNINTEGERTYPE)cInt3) << endl;
cout << "int1 >= int3 : " << (cInt >= cInt3) << endl;
cout << "int1 <= int3 : " << (cInt <= cInt3) << endl;
cInt += cInt3;
cout << "int1 += int3, int1 is : " << (ASNINTEGERTYPE)cInt << endl;
cInt -= cInt5;
cout << "int1 -= int5, int1 is : " << (ASNINTEGERTYPE)cInt << endl;
CAsnBuffer b;
if ( cInt4.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cInt5.Serialize( b, FALSE ) )
cout << "int5 is : " << (ASNINTEGERTYPE)cInt5 << endl;
WaitForNextTest( "CAsnInteger has been tested ! " );
}
void CTestAsn::TestAsnNull()
{
cout << "Test CAsnNull *************************************" << endl;
CAsnNull cNull, cNull2;
CAsnBuffer b;
if ( cNull.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cNull2.Serialize( b, FALSE ) )
cout << "null2 is decoded " << endl;
WaitForNextTest( "CAsnIa5String has been tested ! " );
}
void CTestAsn::TestAsnNumericString()
{
cout << "Test CAsnNumericString *************************************" << endl;
CAsnNumericString cString("asdfasdfasdf"), cString2;
cout << "string is : " << (LPASNCHARTYPE)cString << endl;
CAsnBuffer b;
if ( cString.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cString2.Serialize( b, FALSE ) )
cout << "string2 is : " << (LPASNCHARTYPE)cString2 << endl;
WaitForNextTest( "CAsnNumericString has been tested ! " );
}
void CTestAsn::TestAsnObjectDescriptor()
{
cout << "Test CAsnObjectDescriptor *************************************" << endl;
CAsnObjectDescriptor cString("asdfasdfasdf"), cString2;
cout << "string is : " << (LPASNCHARTYPE)cString << endl;
CAsnBuffer b;
if ( cString.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cString2.Serialize( b, FALSE ) )
cout << "string2 is : " << (LPASNCHARTYPE)cString2 << endl;
WaitForNextTest( "CAsnObjectDescriptor has been tested ! " );
}
void CTestAsn::TestAsnObjectIdentifier()
{
cout << "Test CAsnObjectIdentifier *************************************" << endl;
CString sStr;
ASNOIDTYPE oid[] = { 2, 1, 3933, 222, 3 };
CHAR str[] = "0:1:34:333";
CAsnObjectIdentifier cOid1;
cOid1.Set( 4, 1, 0, 234, 5 );
cOid1.Get( sStr );
cout << "oid1 is : " << sStr << endl;
CAsnObjectIdentifier cOid2( oid, 5 );
cOid2.Get( sStr );
cout << "oid2 is : " << sStr << endl;
CAsnObjectIdentifier cOid3( str );
cout << "oid3 is : " << cOid3[0] << ':' << cOid3[1] << ':'
<< cOid3[2] << ':' << cOid3[3] << endl;
cOid3[2] = 123;
cout << "oid3[2] = 123, now oid3 is : " << cOid3[0] << ':'
<< cOid3[1] << ':' << cOid3[2] << ':' << cOid3[3] << endl;
CAsnObjectIdentifier cOid4;
cOid4.Set( sStr );
cOid4.Get( oid, cOid4.GetSize() );
cout << "oid4 is : ";
for ( INT i = 0; i < cOid4.GetSize()-1; i ++ )
cout << cOid4[i] << ':';
cout << cOid4[cOid4.GetSize()-1] << endl;
cOid3.Get( str, strlen( str ) );
cout << "oid3 is : " << str << endl;
cout << "oid1 == oid2 : " << ( cOid1 == cOid2 ) << endl;
cout << "oid1 != oid3 : " << ( cOid1 != cOid3 ) << endl;
cout << "oid1 < oid4 : " << ( cOid1 < cOid4 ) << endl;
cout << "oid2 > oid3 : " << ( cOid2 > cOid3 ) << endl;
cout << "oid3 >= oid4 : " << ( cOid3 >= cOid4 ) << endl;
cout << "oid3 <= oid4 : " << ( cOid3 <= cOid4 ) << endl;
cout << "oid1 == str : " << ( cOid1 == str ) << endl;
cout << "oid1 != str : " << ( cOid1 != str ) << endl;
cout << "oid1 < str : " << ( cOid1 < str ) << endl;
cout << "oid2 > str : " << ( cOid2 > str ) << endl;
cout << "oid3 >= str : " << ( cOid3 >= str ) << endl;
cout << "oid3 <= str : " << ( cOid3 <= str ) << endl;
CAsnBuffer b;
cout << "oid1 Encode : ";
if ( cOid1.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
cout << "oid2 Decode : ";
if ( cOid2.Serialize( b, FALSE ) )
{
cOid2.Get( sStr );
cout << sStr << endl;
cOid2.Dump( g_OmcDump );
}
WaitForNextTest( "CAsnObjectIdentifier has been tested ! " );
}
void CTestAsn::TestAsnOctetString()
{
cout << "Test CAsnOctetString *************************************" << endl;
ASNOCTETTYPE octet[] = { 12, 34, 45, 67, 89 };
ASNOCTETTYPE octetstr[5];
CAsnOctetString cOctet1( octet, 5 );
cout << "octet1 is : " << (UINT)cOctet1[0] << ' '
<< (UINT)cOctet1[1] << ' ' << (UINT)cOctet1[2] << ' '
<< (UINT)cOctet1[3] << ' ' << (UINT)cOctet1[4] << endl;
CAsnOctetString cOctet2( cOctet1 );
cout << "octet2 is : " << (UINT)cOctet2[0] << ' '
<< (UINT)cOctet2[1] << ' ' << (UINT)cOctet2[2] << ' '
<< (UINT)cOctet2[3] << ' ' << (UINT)cOctet2[4] << endl;
cOctet2[3] = 10;
cout << "octet2[3] = 10, octet2 is : " << (UINT)cOctet2[0] << ' '
<< (UINT)cOctet2[1] << ' ' << (UINT)cOctet2[2] << ' '
<< (UINT)cOctet2[3] << ' ' << (UINT)cOctet2[4] << endl;
cOctet2.Get( octetstr, 5 );
cout << "octetstr is : ";
for ( INT i = 0; i < 4; i ++ )
cout << (UINT)cOctet2[i] << ' ';
cout << (UINT)cOctet2[4] << endl;
cout << "octet1 == octet2 : " << ( cOctet1 == cOctet2 ) << endl;
CString cString("asdfasdfasdfasdf");
cout << cString << endl;
cOctet1.Set( cString );
cOctet1.Dump( g_OmcDump );
CString cString2;
cOctet1.Get( cString2 );
cout << cString2 << endl;
CAsnBuffer b;
if ( cOctet1.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cOctet2.Serialize( b, FALSE ) )
cout << "octet2 is : " << (UINT)cOctet2[0] << ' '
<< (UINT)cOctet2[1] << ' ' << (UINT)cOctet2[2] << ' '
<< (UINT)cOctet2[3] << ' ' << (UINT)cOctet2[4] << endl;
WaitForNextTest( "CAsnObjectIdentifier has been tested ! " );
}
void CTestAsn::TestPrintableString()
{
cout << "Test CAsnPrintableString *************************************" << endl;
CAsnPrintableString cString("asdfasdfasdf"), cString2;
cout << "string is : " << (LPASNCHARTYPE)cString << endl;
CAsnBuffer b;
if ( cString.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cString2.Serialize( b, FALSE ) )
cout << "string2 is : " << (LPASNCHARTYPE)cString2 << endl;
WaitForNextTest( "CAsnPrintableString has been tested ! " );
}
void CTestAsn::TestAsnReal()
{
cout << "Test CAsnReal *************************************" << endl;
CAsnReal r1, r2;
r1.Set( 23.345f );
r2 = r1;
cout << "r1 : " << r1.Get() << endl;
cout << "r2 : " << (ASNREALTYPE)r2 << endl;
cout << "r1 == r2 : " << ( r1 == r2 ) << endl;
CAsnReal r3( -23.045f );
ASNREALTYPE tr3;
r3.Get( tr3 );
cout << "r3 : " << tr3 << endl;
CAsnBuffer b;
cout << "r1 Encode : " << endl;
if ( r1.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
cout << "r4 Decode : " << endl;
CAsnReal r4;
if ( r4.Serialize( b, FALSE ) )
{
cout << "r4 : " << r4.Get() << endl;
r4.Dump( g_OmcDump );
}
WaitForNextTest( "CAsnReal has been tested ! " );
}
void CTestAsn::TestTeletexString()
{
cout << "Test CAsnTeletexString *************************************" << endl;
CAsnTeletexString cString("asdfasdfasdf"), cString2;
cout << "string is : " << (LPASNCHARTYPE)cString << endl;
CAsnBuffer b;
if ( cString.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cString2.Serialize( b, FALSE ) )
cout << "string2 is : " << (LPASNCHARTYPE)cString2 << endl;
WaitForNextTest( "CAsnTeletexString has been tested ! " );
}
void CTestAsn::TestUtcTime()
{
}
void CTestAsn::TestAsnVideotexString()
{
cout << "Test CAsnVideotexString *************************************" << endl;
CAsnVideotexString cString("asdfasdfasdf"), cString2;
cout << "string is : " << (LPASNCHARTYPE)cString << endl;
CAsnBuffer b;
if ( cString.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cString2.Serialize( b, FALSE ) )
cout << "string2 is : " << (LPASNCHARTYPE)cString2 << endl;
WaitForNextTest( "CAsnVideotexString has been tested ! " );
}
void CTestAsn::TestVisibleString()
{
cout << "Test CAsnVisibleString *************************************" << endl;
CAsnVisibleString cString("asdfasdfasdf"), cString2;
cout << "string is : " << (LPASNCHARTYPE)cString << endl;
CAsnBuffer b;
if ( cString.Serialize( b, TRUE ) )
{
b.Dump( g_OmcDump );
}
if ( cString2.Serialize( b, FALSE ) )
cout << "string2 is : " << (LPASNCHARTYPE)cString2 << endl;
WaitForNextTest( "CAsnVisibleString has been tested ! " );
}
void CTestAsn::TestAsnChoice()
{
}
void CTestAsn::TestAsnSequence()
{
}
void CTestAsn::TestAsnSequenceOf()
{
}
void CTestAsn::TestAsnSet()
{
}
void CTestAsn::TestAsnSetOf()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -