static const char * const cUCharNodeName;
//! String constant for naming XML elements for integer values.
static const char * const cIntegerNodeName;
- //! String constant for naming XML elements for int64 values.
+ //! String constant for naming XML elements for int32 values.
+ static const char * const cInt32NodeName;
+ //! String constant for naming XML elements for unsigned int32 values.
+ static const char * const cUInt32NodeName;
+ //! String constant for naming XML elements for int32 values.
static const char * const cInt64NodeName;
//! String constant for naming XML elements for unsigned int64 values.
static const char * const cUInt64NodeName;
const char *const TestReferenceChecker::Impl::cStringNodeName = "String";
const char *const TestReferenceChecker::Impl::cUCharNodeName = "UChar";
const char *const TestReferenceChecker::Impl::cIntegerNodeName = "Int";
+const char *const TestReferenceChecker::Impl::cInt32NodeName = "Int32";
+const char *const TestReferenceChecker::Impl::cUInt32NodeName = "UInt32";
const char *const TestReferenceChecker::Impl::cInt64NodeName = "Int64";
const char *const TestReferenceChecker::Impl::cUInt64NodeName = "UInt64";
const char *const TestReferenceChecker::Impl::cRealNodeName = "Real";
ExactStringChecker(formatString("%d", value))));
}
+void TestReferenceChecker::checkInt32(int32_t value, const char *id)
+{
+ EXPECT_PLAIN(impl_->processItem(Impl::cInt32NodeName, id,
+ ExactStringChecker(formatString("%" PRId32, value))));
+}
+
+void TestReferenceChecker::checkUInt32(uint32_t value, const char *id)
+{
+ EXPECT_PLAIN(impl_->processItem(Impl::cUInt32NodeName, id,
+ ExactStringChecker(formatString("%" PRIu32, value))));
+}
+
void TestReferenceChecker::checkInt64(int64_t value, const char *id)
{
EXPECT_PLAIN(impl_->processItem(Impl::cInt64NodeName, id,
{
checkInteger(any.cast<int>(), id);
}
+ else if (any.isType<int32_t>())
+ {
+ checkInt32(any.cast<int32_t>(), id);
+ }
+ else if (any.isType<uint32_t>())
+ {
+ checkInt32(any.cast<uint32_t>(), id);
+ }
else if (any.isType<int64_t>())
{
checkInt64(any.cast<int64_t>(), id);
}
+ else if (any.isType<uint64_t>())
+ {
+ checkInt64(any.cast<uint64_t>(), id);
+ }
else if (any.isType<float>())
{
checkFloat(any.cast<float>(), id);
}
+int32_t TestReferenceChecker::readInt32(const char *id)
+{
+ if (impl_->shouldIgnore())
+ {
+ GMX_THROW(TestException("Trying to read from non-existent reference data value"));
+ }
+ int32_t value = 0;
+ EXPECT_PLAIN(impl_->processItem(Impl::cInt32NodeName, id,
+ ValueExtractor<int32_t>(&value)));
+ return value;
+}
+
+
int64_t TestReferenceChecker::readInt64(const char *id)
{
if (impl_->shouldIgnore())