Home | History | Annotate | Download | only in cintltst
      1 /********************************************************************
      2  * COPYRIGHT:
      3  * Copyright (c) 1997-2012, International Business Machines Corporation and
      4  * others. All Rights Reserved.
      5  ********************************************************************/
      6 /********************************************************************************
      7 *
      8 * File CGENDTST.C
      9 *********************************************************************************
     10 */
     11 
     12 /* C API TEST FOR GENDER INFO */
     13 
     14 #include "unicode/utypes.h"
     15 
     16 #if !UCONFIG_NO_FORMATTING
     17 
     18 #include "cintltst.h"
     19 #include "unicode/ugender.h"
     20 
     21 static const UGender kAllFemale[] = {UGENDER_FEMALE, UGENDER_FEMALE};
     22 
     23 #define LENGTHOF(array) (int32_t)(sizeof(array) / sizeof((array)[0]))
     24 
     25 void addGendInfoForTest(TestNode** root);
     26 static void TestGenderInfo(void);
     27 
     28 #define TESTCASE(x) addTest(root, &x, "tsformat/cgendtst/" #x)
     29 
     30 void addGendInfoForTest(TestNode** root)
     31 {
     32     TESTCASE(TestGenderInfo);
     33 }
     34 
     35 static void TestGenderInfo(void) {
     36   UErrorCode status = U_ZERO_ERROR;
     37   const UGenderInfo* actual_gi = ugender_getInstance("fr_CA", &status);
     38   UGender actual;
     39   if (U_FAILURE(status)) {
     40     log_err_status(status, "Fail to create UGenderInfo - %s (Are you missing data?)", u_errorName(status));
     41     return;
     42   }
     43   actual = ugender_getListGender(actual_gi, kAllFemale, LENGTHOF(kAllFemale), &status);
     44   if (U_FAILURE(status)) {
     45     log_err("Fail to get gender of list - %s\n", u_errorName(status));
     46     return;
     47   }
     48   if (actual != UGENDER_FEMALE) {
     49     log_err("Expected UGENDER_FEMALE got %d\n", actual);
     50   }
     51 }
     52 
     53 #endif /* #if !UCONFIG_NO_FORMATTING */
     54