String -> std::string, toString methods removed
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
|
||||
#include "pv/typeCast.h"
|
||||
|
||||
using epics::pvData::String;
|
||||
using std::string;
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -131,11 +131,11 @@ try {
|
||||
uint64_t xuint64=0;
|
||||
float xfloat=0.0;
|
||||
double xdouble=0.0;
|
||||
epics::pvData::String xString("0");
|
||||
string xstring("0");
|
||||
|
||||
typedef float float_t;
|
||||
typedef double double_t;
|
||||
typedef epics::pvData::String String_t;
|
||||
typedef string string_t;
|
||||
|
||||
// force all possibilities to be compiled
|
||||
#define CHECK(M, N) x## M = ::epics::pvData::castUnsafe<M ##_t>(x## N); \
|
||||
@@ -151,7 +151,7 @@ try {
|
||||
CHECK(int8, uint64);
|
||||
CHECK(int8, float);
|
||||
CHECK(int8, double);
|
||||
CHECK(int8, String);
|
||||
CHECK(int8, string);
|
||||
|
||||
CHECK(uint8, int8);
|
||||
CHECK(uint8, uint8);
|
||||
@@ -163,7 +163,7 @@ try {
|
||||
CHECK(uint8, uint64);
|
||||
CHECK(uint8, float);
|
||||
CHECK(uint8, double);
|
||||
CHECK(uint8, String);
|
||||
CHECK(uint8, string);
|
||||
|
||||
CHECK(int16, int8);
|
||||
CHECK(int16, uint8);
|
||||
@@ -175,7 +175,7 @@ try {
|
||||
CHECK(int16, uint64);
|
||||
CHECK(int16, float);
|
||||
CHECK(int16, double);
|
||||
CHECK(int16, String);
|
||||
CHECK(int16, string);
|
||||
|
||||
CHECK(uint16, int8);
|
||||
CHECK(uint16, uint8);
|
||||
@@ -187,7 +187,7 @@ try {
|
||||
CHECK(uint16, uint64);
|
||||
CHECK(uint16, float);
|
||||
CHECK(uint16, double);
|
||||
CHECK(uint16, String);
|
||||
CHECK(uint16, string);
|
||||
|
||||
CHECK(int32, int8);
|
||||
CHECK(int32, uint8);
|
||||
@@ -199,7 +199,7 @@ try {
|
||||
CHECK(int32, uint64);
|
||||
CHECK(int32, float);
|
||||
CHECK(int32, double);
|
||||
CHECK(int32, String);
|
||||
CHECK(int32, string);
|
||||
|
||||
CHECK(uint32, int8);
|
||||
CHECK(uint32, uint8);
|
||||
@@ -211,7 +211,7 @@ try {
|
||||
CHECK(uint32, uint64);
|
||||
CHECK(uint32, float);
|
||||
CHECK(uint32, double);
|
||||
CHECK(uint32, String);
|
||||
CHECK(uint32, string);
|
||||
|
||||
CHECK(int64, int8);
|
||||
CHECK(int64, uint8);
|
||||
@@ -223,7 +223,7 @@ try {
|
||||
CHECK(int64, uint64);
|
||||
CHECK(int64, float);
|
||||
CHECK(int64, double);
|
||||
//CHECK(int64, String);
|
||||
//CHECK(int64, string);
|
||||
|
||||
CHECK(uint64, int8);
|
||||
CHECK(uint64, uint8);
|
||||
@@ -235,7 +235,7 @@ try {
|
||||
CHECK(uint64, uint64);
|
||||
CHECK(uint64, float);
|
||||
CHECK(uint64, double);
|
||||
//CHECK(uint64, String);
|
||||
//CHECK(uint64, string);
|
||||
|
||||
CHECK(float, int8);
|
||||
CHECK(float, uint8);
|
||||
@@ -247,7 +247,7 @@ try {
|
||||
CHECK(float, uint64);
|
||||
CHECK(float, float);
|
||||
CHECK(float, double);
|
||||
CHECK(float, String);
|
||||
CHECK(float, string);
|
||||
|
||||
CHECK(double, int8);
|
||||
CHECK(double, uint8);
|
||||
@@ -259,19 +259,19 @@ try {
|
||||
CHECK(double, uint64);
|
||||
CHECK(double, float);
|
||||
CHECK(double, double);
|
||||
CHECK(double, String);
|
||||
CHECK(double, string);
|
||||
|
||||
CHECK(String, int8);
|
||||
CHECK(String, uint8);
|
||||
CHECK(String, int16);
|
||||
CHECK(String, uint16);
|
||||
CHECK(String, int32);
|
||||
CHECK(String, uint32);
|
||||
CHECK(String, int64);
|
||||
CHECK(String, uint64);
|
||||
CHECK(String, float);
|
||||
CHECK(String, double);
|
||||
CHECK(String, String);
|
||||
CHECK(string, int8);
|
||||
CHECK(string, uint8);
|
||||
CHECK(string, int16);
|
||||
CHECK(string, uint16);
|
||||
CHECK(string, int32);
|
||||
CHECK(string, uint32);
|
||||
CHECK(string, int64);
|
||||
CHECK(string, uint64);
|
||||
CHECK(string, float);
|
||||
CHECK(string, double);
|
||||
CHECK(string, string);
|
||||
#undef CHECK
|
||||
|
||||
testDiag("Integer signed <=> unsigned");
|
||||
@@ -309,91 +309,91 @@ try {
|
||||
TEST(int32_t, -2, float, -2.5f);
|
||||
TEST(int32_t, -2, float, -2.7f);
|
||||
|
||||
testDiag("String Printing/parsing");
|
||||
testDiag("string Printing/parsing");
|
||||
|
||||
TEST2(String, "1", int32_t, 1);
|
||||
TEST2(String, "-1", int32_t, -1);
|
||||
TEST2(String, "1", int8_t, 1);
|
||||
TEST2(String, "-1", int8_t, -1);
|
||||
TEST2(String, "1", uint8_t, 1);
|
||||
TEST2(string, "1", int32_t, 1);
|
||||
TEST2(string, "-1", int32_t, -1);
|
||||
TEST2(string, "1", int8_t, 1);
|
||||
TEST2(string, "-1", int8_t, -1);
|
||||
TEST2(string, "1", uint8_t, 1);
|
||||
|
||||
TEST2(String, "127", int32_t, std::numeric_limits<int8_t>::max());
|
||||
TEST2(String, "-128", int32_t, std::numeric_limits<int8_t>::min());
|
||||
TEST2(String, "255", int32_t, std::numeric_limits<uint8_t>::max());
|
||||
TEST2(string, "127", int32_t, std::numeric_limits<int8_t>::max());
|
||||
TEST2(string, "-128", int32_t, std::numeric_limits<int8_t>::min());
|
||||
TEST2(string, "255", int32_t, std::numeric_limits<uint8_t>::max());
|
||||
|
||||
TEST2(String, "32767", int32_t, std::numeric_limits<int16_t>::max());
|
||||
TEST2(String, "-32768", int32_t, std::numeric_limits<int16_t>::min());
|
||||
TEST2(String, "65535", int32_t, std::numeric_limits<uint16_t>::max());
|
||||
TEST2(string, "32767", int32_t, std::numeric_limits<int16_t>::max());
|
||||
TEST2(string, "-32768", int32_t, std::numeric_limits<int16_t>::min());
|
||||
TEST2(string, "65535", int32_t, std::numeric_limits<uint16_t>::max());
|
||||
|
||||
TEST2(String, "2147483647", int32_t, std::numeric_limits<int32_t>::max());
|
||||
TEST2(String, "-2147483648", int32_t, std::numeric_limits<int32_t>::min());
|
||||
TEST2(String, "4294967295", uint32_t, std::numeric_limits<uint32_t>::max());
|
||||
TEST2(string, "2147483647", int32_t, std::numeric_limits<int32_t>::max());
|
||||
TEST2(string, "-2147483648", int32_t, std::numeric_limits<int32_t>::min());
|
||||
TEST2(string, "4294967295", uint32_t, std::numeric_limits<uint32_t>::max());
|
||||
|
||||
TEST2(String, "9223372036854775807", int64_t, std::numeric_limits<int64_t>::max());
|
||||
TEST2(String, "-9223372036854775808", int64_t, std::numeric_limits<int64_t>::min());
|
||||
TEST2(String, "18446744073709551615", uint64_t, std::numeric_limits<uint64_t>::max());
|
||||
TEST2(string, "9223372036854775807", int64_t, std::numeric_limits<int64_t>::max());
|
||||
TEST2(string, "-9223372036854775808", int64_t, std::numeric_limits<int64_t>::min());
|
||||
TEST2(string, "18446744073709551615", uint64_t, std::numeric_limits<uint64_t>::max());
|
||||
|
||||
TEST2(String, "1.1", double, 1.1);
|
||||
TEST2(String, "1.1e+100", double, 1.1e100);
|
||||
TEST2(String, "1.1e-100", double, 1.1e-100);
|
||||
TEST2(string, "1.1", double, 1.1);
|
||||
TEST2(string, "1.1e+100", double, 1.1e100);
|
||||
TEST2(string, "1.1e-100", double, 1.1e-100);
|
||||
|
||||
TEST(double, 1.1e100, String, "1.1E+100");
|
||||
TEST(double, 1.1e100, string, "1.1E+100");
|
||||
|
||||
// any non-zero value is true
|
||||
TEST(String, "true", epics::pvData::boolean, 100);
|
||||
TEST(string, "true", epics::pvData::boolean, 100);
|
||||
|
||||
TEST2(String, "true", epics::pvData::boolean, 1);
|
||||
TEST2(String, "false", epics::pvData::boolean, 0);
|
||||
TEST2(string, "true", epics::pvData::boolean, 1);
|
||||
TEST2(string, "false", epics::pvData::boolean, 0);
|
||||
|
||||
// Case insensitive
|
||||
TEST(epics::pvData::boolean, 1, String, "True");
|
||||
TEST(epics::pvData::boolean, 0, String, "False");
|
||||
TEST(epics::pvData::boolean, 1, String, "TRUE");
|
||||
TEST(epics::pvData::boolean, 0, String, "FALSE");
|
||||
TEST(epics::pvData::boolean, 1, string, "True");
|
||||
TEST(epics::pvData::boolean, 0, string, "False");
|
||||
TEST(epics::pvData::boolean, 1, string, "TRUE");
|
||||
TEST(epics::pvData::boolean, 0, string, "FALSE");
|
||||
|
||||
testDiag("String Parsing");
|
||||
testDiag("string Parsing");
|
||||
|
||||
TEST(int32_t, 15, String, "0xf");
|
||||
TEST(int32_t, 15, String, "0xF");
|
||||
TEST(int32_t, -15, String, "-0xF");
|
||||
TEST(int32_t, 16, String, "0x10");
|
||||
TEST(int32_t, -16, String, "-0x10");
|
||||
TEST(int32_t, 15, string, "0xf");
|
||||
TEST(int32_t, 15, string, "0xF");
|
||||
TEST(int32_t, -15, string, "-0xF");
|
||||
TEST(int32_t, 16, string, "0x10");
|
||||
TEST(int32_t, -16, string, "-0x10");
|
||||
|
||||
TEST(int32_t, 7, String, "07");
|
||||
TEST(int32_t, 8, String, "010");
|
||||
TEST(int32_t, -7, String, "-07");
|
||||
TEST(int32_t, -8, String, "-010");
|
||||
TEST(int32_t, 7, string, "07");
|
||||
TEST(int32_t, 8, string, "010");
|
||||
TEST(int32_t, -7, string, "-07");
|
||||
TEST(int32_t, -8, string, "-010");
|
||||
|
||||
TEST(int64_t, 15, String, "0xf");
|
||||
TEST(int64_t, 15, String, "0xF");
|
||||
TEST(int64_t, -15, String, "-0xF");
|
||||
TEST(int64_t, 16, String, "0x10");
|
||||
TEST(int64_t, -16, String, "-0x10");
|
||||
TEST(int64_t, 15, string, "0xf");
|
||||
TEST(int64_t, 15, string, "0xF");
|
||||
TEST(int64_t, -15, string, "-0xF");
|
||||
TEST(int64_t, 16, string, "0x10");
|
||||
TEST(int64_t, -16, string, "-0x10");
|
||||
|
||||
TEST(int64_t, 7, String, "07");
|
||||
TEST(int64_t, 8, String, "010");
|
||||
TEST(int64_t, -7, String, "-07");
|
||||
TEST(int64_t, -8, String, "-010");
|
||||
TEST(int64_t, 7, string, "07");
|
||||
TEST(int64_t, 8, string, "010");
|
||||
TEST(int64_t, -7, string, "-07");
|
||||
TEST(int64_t, -8, string, "-010");
|
||||
|
||||
testDiag("String parsing errors");
|
||||
testDiag("string parsing errors");
|
||||
|
||||
FAIL(int32_t, String, "hello!");
|
||||
FAIL(int32_t, String, "42 is the answer");
|
||||
FAIL(int64_t, String, "hello!");
|
||||
FAIL(int64_t, String, "42 is the answer");
|
||||
FAIL(double, String, "hello!");
|
||||
FAIL(double, String, "42 is the answer");
|
||||
FAIL(int32_t, string, "hello!");
|
||||
FAIL(int32_t, string, "42 is the answer");
|
||||
FAIL(int64_t, string, "hello!");
|
||||
FAIL(int64_t, string, "42 is the answer");
|
||||
FAIL(double, string, "hello!");
|
||||
FAIL(double, string, "42 is the answer");
|
||||
|
||||
FAIL(int8_t, String, "1000");
|
||||
FAIL(int8_t, String, "-1000");
|
||||
FAIL(int8_t, string, "1000");
|
||||
FAIL(int8_t, string, "-1000");
|
||||
|
||||
FAIL(double, String, "1e+10000000");
|
||||
FAIL(double, string, "1e+10000000");
|
||||
|
||||
FAIL(epics::pvData::boolean, String, "hello");
|
||||
FAIL(epics::pvData::boolean, String, "1");
|
||||
FAIL(epics::pvData::boolean, String, "0");
|
||||
FAIL(epics::pvData::boolean, String, "T");
|
||||
FAIL(epics::pvData::boolean, String, "F");
|
||||
FAIL(epics::pvData::boolean, string, "hello");
|
||||
FAIL(epics::pvData::boolean, string, "1");
|
||||
FAIL(epics::pvData::boolean, string, "0");
|
||||
FAIL(epics::pvData::boolean, string, "T");
|
||||
FAIL(epics::pvData::boolean, string, "F");
|
||||
|
||||
testDiag("Floating point overflows");
|
||||
|
||||
@@ -406,10 +406,10 @@ try {
|
||||
testOk(isnan( xfloat ), "Test cast double NAN to float NAN yields: %f", xfloat);
|
||||
|
||||
{
|
||||
std::string result[3];
|
||||
string result[3];
|
||||
const int32_t in[3] = { 1234, 506001, 42424242 };
|
||||
|
||||
testDiag("Test vcast int32 -> String");
|
||||
testDiag("Test vcast int32 -> string");
|
||||
epics::pvData::castUnsafeV(3, epics::pvData::pvString, (void*)result,
|
||||
epics::pvData::pvInt, (void*)in);
|
||||
testDiag("Yields %s %s %s", result[0].c_str(), result[1].c_str(), result[2].c_str());
|
||||
|
||||
Reference in New Issue
Block a user