#include "../tmain.hpp"
void test_DynamicAnyInt()
{
Poco::Int32 src = 32;
Poco::DynamicAny a1 = src;
assert (a1.type() == typeid(Poco::Int32));
std::string s1;
Poco::Int8 s2;
Poco::Int16 s3;
Poco::Int32 s4;
Poco::Int64 s5;
Poco::UInt8 s6;
Poco::UInt16 s7;
Poco::UInt32 s8;
Poco::UInt64 s9;
float s10;
double s11;
bool s12;
char s13;
long s14;
unsigned long s15;
a1.convert(s1);
a1.convert(s2);
a1.convert(s3);
a1.convert(s4);
a1.convert(s5);
a1.convert(s6);
a1.convert(s7);
a1.convert(s8);
a1.convert(s9);
a1.convert(s10);
a1.convert(s11);
a1.convert(s12);
a1.convert(s13);
a1.convert(s14);
a1.convert(s15);
assert (s1 == "32");
assert (s2 == 32);
assert (s3 == 32);
assert (s4 == 32);
assert (s5 == 32);
assert (s6 == 32);
assert (s7 == 32);
assert (s8 == 32);
assert (s9 == 32);
assert (s10 == 32.0f);
assert (s11 == 32.0);
assert (s12);
assert (s13 == ' ');
assert (s14 == 32);
assert (s15 == 32);
Poco::DynamicAny a2(a1);
std::string t2;
a2.convert(t2);
assert (s1 == t2);
Poco::Int32 value = a1.extract<Poco::Int32>();
assert (value == 32);
try
{
Poco::Int16 value2;
value2 = a1.extract<Poco::Int16>();
}
catch (Poco::BadCastException&)
{
}
}