#include <locale>
#include <sstream>
#include <testsuite_hooks.h>
void test02()
{
using namespace std;
typedef istreambuf_iterator<wchar_t> 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 wstring digits1(L"720000000000");
const wstring digits2(L"-10000000000000");
const wstring digits4(L"-1");
iterator_type end;
wistringstream iss;
iss.imbue(loc_hk);
const money_get<wchar_t>& mon_get = use_facet<money_get<wchar_t> >(iss.getloc());
iss.setf(ios_base::showbase);
iss.str(L"HK$7,200,000,000.00");
iterator_type is_it09(iss);
wstring 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(L"(HKD 100,000,000,000.00)");
iterator_type is_it10(iss);
wstring 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(L"(HKD .01)");
iterator_type is_it11(iss);
wstring 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(L"HK$7,200,000,000.00");
iterator_type is_it12(iss);
wstring 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(L"(HKD 100,000,000,000.00)");
iterator_type is_it13(iss);
wstring 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(L"(HKD .01)");
iterator_type is_it14(iss);
wstring 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;
}