I would imagine you could use regex to check the format. C++11 has a function specifically for this. Below is an outlining example, adapted from cplusplus.com, but you could develop a more complex solution to test the table very exactly.
c++11
#include <string>
#include <regex>
std::string s = "|some|sort|of|table|row|"
std::regex r = "" // Matching regex
ASSERT_TRUE(std::regex_match(s, r))
Additionally, you could split (using std::string::find()
and std::string::substr()
as outlined here) the table to check individual values with something like ASSERT_EQ(parsed_value, exp_value)
Less Objective Comment:
I've found that google test has tools for pretty much everything. The value tests that you mentioned are actually extremely versatile. The (somewhat unavoidable) work is manipulating the data for the available tests, which means extrapolating the data and characteristics that you care about and presenting that to the ASSERT_* and EXPECT_* macros.