#include <locale>
#include <sstream>
#include <testsuite_hooks.h>
void test02()
{
using namespace std;
typedef istreambuf_iterator<char> iterator_type;
bool test __attribute__((unused)) = true;
locale loc_c = locale::classic();
locale loc_hk = __gnu_test::try_named_locale("en_HK");
VERIFY( loc_c != loc_hk );
const string digits1("720000000000");
const string digits2("-10000000000000");
const string digits4("-1");
iterator_type end;
istringstream iss;
iss.imbue(loc_hk);
const money_get<char>& mon_get = use_facet<money_get<char> >(iss.getloc());
iss.setf(ios_base::showbase);
iss.str("HK$7,200,000,000.00");
iterator_type is_it09(iss);
string result9;
ios_base::iostate err09 = ios_base::goodbit;
mon_get.get(is_it09, end, false, iss, err09, result9);
VERIFY( result9 == digits1 );
VERIFY( err09 == ios_base::eofbit );
iss.str("(HKD 100,000,000,000.00)");
iterator_type is_it10(iss);
string result10;
ios_base::iostate err10 = ios_base::goodbit;
mon_get.get(is_it10, end, true, iss, err10, result10);
VERIFY( result10 == digits2 );
VERIFY( err10 == ios_base::eofbit );
iss.str("(HKD .01)");
iterator_type is_it11(iss);
string result11;
ios_base::iostate err11 = ios_base::goodbit;
mon_get.get(is_it11, end, true, iss, err11, result11);
VERIFY( result11 == digits4 );
VERIFY( err11 == ios_base::eofbit );
iss.unsetf(ios_base::showbase);
iss.str("HK$7,200,000,000.00");
iterator_type is_it12(iss);
string result12;
ios_base::iostate err12 = ios_base::goodbit;
mon_get.get(is_it12, end, false, iss, err12, result12);
VERIFY( result12 == digits1 );
VERIFY( err12 == ios_base::eofbit );
iss.str("(HKD 100,000,000,000.00)");
iterator_type is_it13(iss);
string result13;
ios_base::iostate err13 = ios_base::goodbit;
mon_get.get(is_it13, end, true, iss, err13, result13);
VERIFY( result13 == digits2 );
VERIFY( err13 == ios_base::eofbit );
iss.str("(HKD .01)");
iterator_type is_it14(iss);
string result14;
ios_base::iostate err14 = ios_base::goodbit;
mon_get.get(is_it14, end, true, iss, err14, result14);
VERIFY( result14 == digits4 );
VERIFY( err14 == ios_base::eofbit );
}
int main()
{
test02();
return 0;
}