#include "SysPlusPlus"
#include "ComPlusPlus"

int main ( int argc, char *argv [] ) {
	
 compp::ByteStream bs;
 
 bs.Add( "Hello", 5)	;
 bs.dump(compp::CHAR)	;
 bs.dump(compp::HEX)	;
 bs.dump(compp::DEC)	;

 compp::ByteStream bs1;
	
 bs.Add(" I AM the Hello world");
 bs.dump(compp::CHAR)	;
 	
 bs.Add( '!' );
 bs.dump(compp::CHAR)	;
	
 compp::ByteStream bs2;

try {

	std::string s="";
	bs.Get ( s );
	std::cout << "Test Get: --" << s << "--\n"; 
	char c[1000];
	std::cout << "Test Get: (Execption expected)--\n"; 
	bs.Get(c, 1 );
} catch ( syspp::ComException e) {
	std::cout << "Exception "	<< e.what() << "--\n";	
}



try {
	char c[1000];
	bs.Get(c, 999);
	std::cout << "Test Get: --" << c << "--\n"; 
} catch ( syspp::ComException e) {
	std::cout << "Exception "	<< e.what() << "--\n";	
}

try {
	char c[1000];
	compp::ByteStream b1, b2;
	b1.Add ( "1234567890");
	b1.Get(c, 999);
	std::cout << "Test Get: --" << c << "--\n"; 
	std::cout << "Test [2] " <<b1[2] << "\n";
} catch ( syspp::ComException e) {
	std::cout << "Exception "	<< e.what() << "--\n";	
}
	
 return 0;	
}
