void LocaleAliasTest::TestUResourceBundle() { UErrorCode status = U_ZERO_ERROR; for (int i=0; i<_LOCALE_NUMBER; i++) { Locale oldLoc(_LOCALE_ALIAS[i][0]); Locale newLoc(_LOCALE_ALIAS[i][1]); if(!isLocaleAvailable(_LOCALE_ALIAS[i][1])){ logln(UnicodeString(newLoc.getName())+" is not available. Skipping!"); continue; } logln("\nold locale:%s new locale:%s",oldLoc.getName(),newLoc.getName()); ResourceBundle* rb1 = NULL; ResourceBundle* rb2 = NULL; const char* testdatapath=loadTestData(status); UnicodeString us1("NULL"); UnicodeString us2("NULL"); rb1 = new ResourceBundle(testdatapath, oldLoc, status); if (U_FAILURE(U_ZERO_ERROR)) { } else { us1 = rb1->getStringEx("locale", status); } rb2 = new ResourceBundle(testdatapath, newLoc, status); if (U_FAILURE(U_ZERO_ERROR)){ } else { us2 = rb2->getStringEx("locale", status); } UnicodeString uNewLoc(newLoc.getName()); if (us1.compare(uNewLoc)!=0 || us1.compare(us2)!=0 || status!=U_ZERO_ERROR) { } log("UResourceBundle(getStringEx) old:"); log(us1); log(" new:"); logln(us2); if (rb1!=NULL) { delete rb1; } if (rb2!=NULL) { delete rb2; } } }
int main() { { std::chrono::nanoseconds ns1(15); std::chrono::nanoseconds ns2(5); assert(ns1 / ns2 == 3); } { std::chrono::microseconds us1(15); std::chrono::nanoseconds ns2(5); assert(us1 / ns2 == 3000); } { std::chrono::duration<int, std::ratio<2, 3> > s1(30); std::chrono::duration<int, std::ratio<3, 5> > s2(5); assert(s1 / s2 == 6); } { std::chrono::duration<int, std::ratio<2, 3> > s1(30); std::chrono::duration<double, std::ratio<3, 5> > s2(5); assert(s1 / s2 == 20./3); } #ifndef _LIBCPP_HAS_NO_CONSTEXPR { constexpr std::chrono::nanoseconds ns1(15); constexpr std::chrono::nanoseconds ns2(5); static_assert(ns1 / ns2 == 3, ""); } { constexpr std::chrono::microseconds us1(15); constexpr std::chrono::nanoseconds ns2(5); static_assert(us1 / ns2 == 3000, ""); } { constexpr std::chrono::duration<int, std::ratio<2, 3> > s1(30); constexpr std::chrono::duration<int, std::ratio<3, 5> > s2(5); static_assert(s1 / s2 == 6, ""); } { constexpr std::chrono::duration<int, std::ratio<2, 3> > s1(30); constexpr std::chrono::duration<double, std::ratio<3, 5> > s2(5); static_assert(s1 / s2 == 20./3, ""); } #endif }