#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 string empty;
string result;
ostringstream oss;
oss.imbue(loc_de);
const num_put<char>& np = use_facet<num_put<char> >(oss.getloc());
long l0 = -300000;
long l1 = 300;
double d0 = -300000;
double d1 = 300;
oss.str(empty);
oss.clear();
np.put(oss.rdbuf(), oss, '*', l0);
result = oss.str();
VERIFY( result == "-300.000" );
oss.str(empty);
oss.clear();
np.put(oss.rdbuf(), oss, '*', d0);
result = oss.str();
VERIFY( result == "-300.000" );
oss.str(empty);
oss.clear();
oss.setf(ios::showpos);
np.put(oss.rdbuf(), oss, '*', l1);
result = oss.str();
VERIFY( result == "+300" );
oss.str(empty);
oss.clear();
oss.setf(ios::showpos);
np.put(oss.rdbuf(), oss, '*', d1);
result = oss.str();
VERIFY( result == "+300" );
}
int main()
{
test01();
return 0;
}