#include <locale>
#include <sstream>
#include <testsuite_hooks.h>
void test01()
{
using namespace std;
bool test __attribute__((unused)) = true;
locale loc_de = __gnu_test::try_named_locale("de_DE");
const wstring empty;
wstring result;
wostringstream oss;
oss.imbue(loc_de);
const num_put<wchar_t>& np = use_facet<num_put<wchar_t> >(oss.getloc());
long l0 = -300000;
long l1 = 300;
double d0 = -300000;
double d1 = 300;
oss.str(empty);
oss.clear();
np.put(oss.rdbuf(), oss, L'*', l0);
result = oss.str();
VERIFY( result == L"-300.000" );
oss.str(empty);
oss.clear();
np.put(oss.rdbuf(), oss, L'*', d0);
result = oss.str();
VERIFY( result == L"-300.000" );
oss.str(empty);
oss.clear();
oss.setf(ios::showpos);
np.put(oss.rdbuf(), oss, L'*', l1);
result = oss.str();
VERIFY( result == L"+300" );
oss.str(empty);
oss.clear();
oss.setf(ios::showpos);
np.put(oss.rdbuf(), oss, L'*', d1);
result = oss.str();
VERIFY( result == L"+300" );
}
int main()
{
test01();
return 0;
}