home *** CD-ROM | disk | FTP | other *** search
-
- /*
- ********************************************************************
- * COPYRIGHT:
- * (C) Copyright Taligent, Inc., 1997
- * (C) Copyright International Business Machines Corporation, 1997 - 1998
- * Licensed Material - Program-Property of IBM - All Rights Reserved.
- * US Government Users Restricted Rights - Use, duplication, or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- *
- ********************************************************************
- */
-
- #include "utypes.h"
- #include "tsdcfmsy.h"
-
- #include "dcfmtsym.h"
-
-
- void IntlTestDecimalFormatSymbols::runIndexedTest( int32_t index, bool_t exec, char* &name, char* par )
- {
- if (exec) logln("TestSuite DecimalFormatSymbols");
- switch (index) {
- case 0: name = "DecimalFormatSymbols test";
- if (exec) {
- logln("DecimalFormatSymbols test---"); logln("");
- testSymbols(par);
- }
- break;
-
- default: name = ""; break;
- }
- }
-
- /**
- * Test the API of DecimalFormatSymbols; primarily a simple get/set set.
- */
- void IntlTestDecimalFormatSymbols::testSymbols(char *par)
- {
- UErrorCode status = U_ZERO_ERROR;
-
- DecimalFormatSymbols fr(Locale::FRENCH, status);
- if(U_FAILURE(status)) {
- errln("ERROR: Couldn't create French DecimalFormatSymbols");
- }
-
- status = U_ZERO_ERROR;
- DecimalFormatSymbols en(Locale::ENGLISH, status);
- if(U_FAILURE(status)) {
- errln("ERROR: Couldn't create English DecimalFormatSymbols");
- }
-
- if(en == fr || ! (en != fr) ) {
- errln("ERROR: English DecimalFormatSymbols equal to French");
- }
-
- // just do some VERY basic tests to make sure that get/set work
-
- UChar zero = en.getZeroDigit();
- fr.setZeroDigit(zero);
- if(fr.getZeroDigit() != en.getZeroDigit()) {
- errln("ERROR: get/set ZeroDigit failed");
- }
-
- UChar group = en.getGroupingSeparator();
- fr.setGroupingSeparator(group);
- if(fr.getGroupingSeparator() != en.getGroupingSeparator()) {
- errln("ERROR: get/set GroupingSeparator failed");
- }
-
- UChar decimal = en.getDecimalSeparator();
- fr.setDecimalSeparator(decimal);
- if(fr.getDecimalSeparator() != en.getDecimalSeparator()) {
- errln("ERROR: get/set DecimalSeparator failed");
- }
-
- UChar perMill = en.getPerMill();
- fr.setPerMill(perMill);
- if(fr.getPerMill() != en.getPerMill()) {
- errln("ERROR: get/set PerMill failed");
- }
-
- UChar percent = en.getPercent();
- fr.setPercent(percent);
- if(fr.getPercent() != en.getPercent()) {
- errln("ERROR: get/set Percent failed");
- }
-
- UChar digit = en.getDigit();
- fr.setDigit(digit);
- if(fr.getPercent() != en.getPercent()) {
- errln("ERROR: get/set Percent failed");
- }
-
- UChar patternSeparator = en.getPatternSeparator();
- fr.setPatternSeparator(patternSeparator);
- if(fr.getPatternSeparator() != en.getPatternSeparator()) {
- errln("ERROR: get/set PatternSeparator failed");
- }
-
- UnicodeString infinity;
- infinity = en.getInfinity(infinity);
- fr.setInfinity(infinity);
- UnicodeString infinity2;
- infinity2 = fr.getInfinity(infinity2);
- if(infinity != infinity2) {
- errln("ERROR: get/set Infinity failed");
- }
-
- UnicodeString nan;
- nan = en.getNaN(infinity);
- fr.setNaN(nan);
- UnicodeString nan2;
- nan2 = fr.getNaN(nan2);
- if(nan != nan2) {
- errln("ERROR: get/set NaN failed");
- }
-
- UChar minusSign = en.getMinusSign();
- fr.setMinusSign(minusSign);
- if(fr.getMinusSign() != en.getMinusSign()) {
- errln("ERROR: get/set MinusSign failed");
- }
-
- UChar exponential = en.getExponentialSymbol();
- fr.setExponentialSymbol(exponential);
- if(fr.getExponentialSymbol() != en.getExponentialSymbol()) {
- errln("ERROR: get/set Exponential failed");
- }
-
- status = U_ZERO_ERROR;
- DecimalFormatSymbols foo(status);
-
- DecimalFormatSymbols bar(foo);
-
- en = fr;
-
- if(en != fr || foo != bar) {
- errln("ERROR: Copy Constructor or Assignment failed");
- }
- }
-