示例#1
0
int main(int argc, char* argv[])
{

	if(argc < 2 || strcmp(argv[1], "--help") == 0)
	{
		MMS_PRINTF("usage: %s test_from_file file\n", argv[0]);
		MMS_PRINTF("usage: %s test_unpack mms\n", argv[0]);
		MMS_PRINTF("usage: %s test_get_set\n", argv[0]);
		
		return -1;
	}

	if(strcmp(argv[1], "test_get_set") == 0)
	{
		test_get_set();
	}
	else if(strcmp(argv[1], "test_unpack") == 0)
	{
		test_unpack(argv[2]);
	}
	else if(strcmp(argv[1], "test_from_file") == 0)
	{
		test_from_file(argv[2]);
	}

	return 0;
}
TEST(PackUnpack, Basic)
{
	nbase::PackBuffer pbuffer;
	nbase::Pack test_pack(pbuffer);

	EXPECT_EQ(0, test_pack.size());

	test_pack.push_uint8(8);
	test_pack.push_uint16(16);
	test_pack.push_uint32(32);
	test_pack.push_uint64(64);

	std::string input1 = "test input string 1";
	std::string input2 = "test input string 2";
	std::string input3 = "test input string 3";
	std::string input4 = "test input string 4";
	std::string input5 = "test input string 5";
	nbase::Varstr var_str(input1.data(), input1.size());
	test_pack.push_varstr(var_str);
	test_pack.push_varstr(input2.c_str());
	test_pack.push_varstr(input3);
	test_pack.push_varstr(input4.data(), input4.size());
	test_pack.push_varstr32(input5.data(), input5.size());

	nbase::Unpack test_unpack(pbuffer.data(), pbuffer.size());
	EXPECT_EQ(8, test_unpack.pop_uint8());
	EXPECT_EQ(16, test_unpack.pop_uint16());
	EXPECT_EQ(32, test_unpack.pop_uint32());
	EXPECT_EQ(64, test_unpack.pop_uint64());
	nbase::Varstr var_output1 = test_unpack.pop_varstr_ptr();
	std::string output1(var_output1.data(), var_output1.size()); 
	EXPECT_EQ(input1, output1);
	nbase::Varstr var_output2 = test_unpack.pop_varstr_ptr();
	std::string output2(var_output2.data(), var_output2.size()); 
	EXPECT_EQ(input2, output2);
	nbase::Varstr var_output3 = test_unpack.pop_varstr_ptr();
	std::string output3(var_output3.data(), var_output3.size()); 
	EXPECT_EQ(input3, output3);
	nbase::Varstr var_output4 = test_unpack.pop_varstr_ptr();
	std::string output4(var_output4.data(), var_output4.size()); 
	EXPECT_EQ(input4, output4);
	nbase::Varstr var_output5 = test_unpack.pop_varstr32_ptr();
	std::string output5(var_output5.data(), var_output5.size()); 
	EXPECT_EQ(input5, output5);	
}
示例#3
0
int test_main( int /*argc*/, char * /*argv*/[] ) 
{
	test_unpack();
	test_unpack2();
	return 0;
}