# Test data for Person Name Data
#  Copyright © 1991-2024 Unicode, Inc.
#  For terms of use, see http://www.unicode.org/copyright.html
#  SPDX-License-Identifier: Unicode-3.0
#  CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
# CLDR person name formatting test data for: yue_Hans
#
# Test lines have the following structure:
#
# enum ; <type> ; <value>(', ' <value)
#   For all the elements in <…> below, the possible choices that could appear in the file.
#   For example, <field> could be any of title, given, … credentials.
#   Verify that all of these values work with the implementation.
#
# name ; <field>('-'<modifier>) ; <value>
#   A sequence of these is to be used to build a person name object with the given field values.
#   If the <field> is 'locale', then the value is the locale of the name.
#     That will always be the last field in the name.
#     NOTE: the locale for the name (where different than the test file's locale) will generally not match the text.
#     It is chosen to exercise the person name formatting, by having a different given-surname order than the file's locale.
#
# expectedResult; <value>
#   This line follows a sequence of name lines, and indicates the that all the following parameter lines have this expected value.
#
# parameters; <options>; <length>; <usage>; <formality>
#   Each of these parameter lines should be tested to see that when formatting the current name with these parameters, 
#   the expected value is produced.
#
# endName
#   Indicates the end of the values to be tested with the current name.
#
# =====
# Example:
#     enum ; field ; title, given, given2, surname, surname2, generation, credentials
#     …
#
#     name ; given; Iris
#     name ; surname; Falke
#     name ; locale; de
#
#     expectedResult; Falke, Iris
#
#     parameters; sorting; long; referring; formal
#     parameters; sorting; medium; referring; informal
#
#     endName
#
#     name ; given; Max
#     name ; given2; Ben
#     name ; surname; Mustermann
#     …
# =====

enum ; field ; title, given, given2, surname, surname2, generation, credentials
enum ; modifiers ; informal, allCaps, initialCap, initial, retain, monogram, prefix, core, vocative, genitive
enum ; order ; givenFirst, surnameFirst, sorting
enum ; length ; long, medium, short
enum ; usage ; referring, addressing, monogram
enum ; formality ; formal, informal

# nativeG
name ; given; 大文
name ; locale; yue_Hans_AQ

expectedResult; 大文

parameters; givenFirst; long; referring; formal
parameters; givenFirst; long; referring; informal
parameters; givenFirst; long; addressing; formal
parameters; givenFirst; long; addressing; informal
parameters; givenFirst; medium; referring; formal
parameters; givenFirst; medium; referring; informal
parameters; givenFirst; medium; addressing; formal
parameters; givenFirst; medium; addressing; informal
parameters; givenFirst; short; referring; formal
parameters; givenFirst; short; referring; informal
parameters; givenFirst; short; addressing; formal
parameters; givenFirst; short; addressing; informal
parameters; surnameFirst; long; referring; formal
parameters; surnameFirst; long; referring; informal
parameters; surnameFirst; long; addressing; formal
parameters; surnameFirst; long; addressing; informal
parameters; surnameFirst; medium; referring; formal
parameters; surnameFirst; medium; referring; informal
parameters; surnameFirst; medium; addressing; formal
parameters; surnameFirst; medium; addressing; informal
parameters; surnameFirst; short; referring; formal
parameters; surnameFirst; short; referring; informal
parameters; surnameFirst; short; addressing; formal
parameters; surnameFirst; short; addressing; informal
parameters; sorting; long; referring; formal
parameters; sorting; long; referring; informal
parameters; sorting; medium; referring; formal
parameters; sorting; medium; referring; informal
parameters; sorting; short; referring; formal
parameters; sorting; short; referring; informal

expectedResult; 大

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal
parameters; givenFirst; medium; monogram; formal
parameters; givenFirst; medium; monogram; informal
parameters; givenFirst; short; monogram; formal
parameters; givenFirst; short; monogram; informal
parameters; surnameFirst; long; monogram; formal
parameters; surnameFirst; long; monogram; informal
parameters; surnameFirst; medium; monogram; formal
parameters; surnameFirst; medium; monogram; informal
parameters; surnameFirst; short; monogram; formal
parameters; surnameFirst; short; monogram; informal

endName

# nativeGS
name ; given; 大文
name ; surname; 陈
name ; locale; yue_Hans_AQ

expectedResult; 大文陈

parameters; givenFirst; long; referring; formal
parameters; givenFirst; long; referring; informal
parameters; givenFirst; medium; referring; formal
parameters; givenFirst; medium; referring; informal
parameters; givenFirst; short; referring; formal
parameters; givenFirst; short; referring; informal

expectedResult; 陈大文

parameters; surnameFirst; long; referring; formal
parameters; surnameFirst; long; referring; informal
parameters; surnameFirst; medium; referring; formal
parameters; surnameFirst; medium; referring; informal
parameters; surnameFirst; short; referring; formal
parameters; surnameFirst; short; referring; informal
parameters; sorting; long; referring; formal
parameters; sorting; long; referring; informal
parameters; sorting; medium; referring; formal
parameters; sorting; medium; referring; informal
parameters; sorting; short; referring; formal
parameters; sorting; short; referring; informal

expectedResult; 大文

parameters; givenFirst; long; addressing; informal
parameters; givenFirst; medium; addressing; informal
parameters; givenFirst; short; addressing; informal
parameters; surnameFirst; long; addressing; informal
parameters; surnameFirst; medium; addressing; informal
parameters; surnameFirst; short; addressing; informal

expectedResult; 大陈

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal
parameters; givenFirst; medium; monogram; formal
parameters; givenFirst; medium; monogram; informal
parameters; givenFirst; short; monogram; formal
parameters; givenFirst; short; monogram; informal

expectedResult; 陈大

parameters; surnameFirst; long; monogram; formal
parameters; surnameFirst; long; monogram; informal

expectedResult; 大

parameters; surnameFirst; medium; monogram; informal
parameters; surnameFirst; short; monogram; informal

expectedResult; 陈

parameters; givenFirst; long; addressing; formal
parameters; givenFirst; medium; addressing; formal
parameters; givenFirst; short; addressing; formal
parameters; surnameFirst; long; addressing; formal
parameters; surnameFirst; medium; addressing; formal
parameters; surnameFirst; medium; monogram; formal
parameters; surnameFirst; short; addressing; formal
parameters; surnameFirst; short; monogram; formal

endName

# nativeGGS
name ; given; 大文
name ; given2; 明德
name ; surname; 陈
name ; locale; yue_Hans_AQ

expectedResult; 大文明德陈

parameters; givenFirst; long; referring; formal
parameters; givenFirst; long; referring; informal
parameters; givenFirst; medium; referring; formal
parameters; givenFirst; medium; referring; informal
parameters; givenFirst; short; referring; formal
parameters; givenFirst; short; referring; informal

expectedResult; 陈大文明德

parameters; surnameFirst; long; referring; formal
parameters; sorting; long; referring; formal

expectedResult; 陈大文明

parameters; surnameFirst; medium; referring; formal
parameters; surnameFirst; short; referring; formal
parameters; sorting; medium; referring; formal
parameters; sorting; short; referring; formal

expectedResult; 大明陈

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal
parameters; givenFirst; medium; monogram; formal
parameters; givenFirst; medium; monogram; informal
parameters; givenFirst; short; monogram; formal
parameters; givenFirst; short; monogram; informal

expectedResult; 陈大文

parameters; surnameFirst; long; referring; informal
parameters; surnameFirst; medium; referring; informal
parameters; surnameFirst; short; referring; informal
parameters; sorting; long; referring; informal
parameters; sorting; medium; referring; informal
parameters; sorting; short; referring; informal

expectedResult; 陈大明

parameters; surnameFirst; long; monogram; formal

expectedResult; 大文

parameters; givenFirst; long; addressing; informal
parameters; givenFirst; medium; addressing; informal
parameters; givenFirst; short; addressing; informal
parameters; surnameFirst; long; addressing; informal
parameters; surnameFirst; medium; addressing; informal
parameters; surnameFirst; short; addressing; informal

expectedResult; 陈大

parameters; surnameFirst; long; monogram; informal

expectedResult; 大

parameters; surnameFirst; medium; monogram; informal
parameters; surnameFirst; short; monogram; informal

expectedResult; 陈

parameters; givenFirst; long; addressing; formal
parameters; givenFirst; medium; addressing; formal
parameters; givenFirst; short; addressing; formal
parameters; surnameFirst; long; addressing; formal
parameters; surnameFirst; medium; addressing; formal
parameters; surnameFirst; medium; monogram; formal
parameters; surnameFirst; short; addressing; formal
parameters; surnameFirst; short; monogram; formal

endName

# nativeFull
name ; title; 先生
name ; given; 子媚
name ; given-informal; 阿媚
name ; given2; 惠仪
name ; surname-core; 陈
name ; generation; 小
name ; credentials; 太平绅士
name ; locale; yue_Hans_AQ

expectedResult; 先生子媚惠仪陈太平绅士

parameters; givenFirst; long; referring; formal
parameters; givenFirst; long; referring; informal
parameters; givenFirst; medium; referring; formal
parameters; givenFirst; medium; referring; informal
parameters; givenFirst; short; referring; formal
parameters; givenFirst; short; referring; informal

expectedResult; 陈子媚太平绅士惠仪

parameters; surnameFirst; long; referring; formal
parameters; surnameFirst; medium; referring; formal
parameters; sorting; long; referring; formal
parameters; sorting; medium; referring; formal

expectedResult; 陈子媚惠仪

parameters; surnameFirst; short; referring; formal
parameters; sorting; short; referring; formal

expectedResult; 子惠陈

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal
parameters; givenFirst; medium; monogram; formal
parameters; givenFirst; medium; monogram; informal
parameters; givenFirst; short; monogram; formal
parameters; givenFirst; short; monogram; informal

expectedResult; 陈先生

parameters; givenFirst; long; addressing; formal
parameters; givenFirst; medium; addressing; formal
parameters; givenFirst; short; addressing; formal
parameters; surnameFirst; long; addressing; formal
parameters; surnameFirst; medium; addressing; formal
parameters; surnameFirst; short; addressing; formal

expectedResult; 陈子媚

parameters; surnameFirst; short; referring; informal

expectedResult; 陈子惠

parameters; surnameFirst; long; monogram; formal

expectedResult; 陈阿媚

parameters; surnameFirst; long; referring; informal
parameters; surnameFirst; medium; referring; informal
parameters; sorting; long; referring; informal
parameters; sorting; medium; referring; informal
parameters; sorting; short; referring; informal

expectedResult; 阿媚

parameters; givenFirst; long; addressing; informal
parameters; givenFirst; medium; addressing; informal
parameters; givenFirst; short; addressing; informal
parameters; surnameFirst; long; addressing; informal
parameters; surnameFirst; medium; addressing; informal
parameters; surnameFirst; short; addressing; informal

expectedResult; 陈子

parameters; surnameFirst; long; monogram; informal

expectedResult; 阿

parameters; surnameFirst; medium; monogram; informal
parameters; surnameFirst; short; monogram; informal

expectedResult; 陈

parameters; surnameFirst; medium; monogram; formal
parameters; surnameFirst; short; monogram; formal

endName

# foreignG
name ; given; 凯晴
name ; locale; fr_AQ

expectedResult; 凯晴

parameters; givenFirst; long; referring; formal
parameters; givenFirst; long; referring; informal
parameters; givenFirst; long; addressing; formal
parameters; givenFirst; long; addressing; informal
parameters; givenFirst; medium; referring; formal
parameters; givenFirst; medium; referring; informal
parameters; givenFirst; medium; addressing; formal
parameters; givenFirst; medium; addressing; informal
parameters; givenFirst; short; referring; formal
parameters; givenFirst; short; referring; informal
parameters; givenFirst; short; addressing; formal
parameters; givenFirst; short; addressing; informal
parameters; surnameFirst; long; referring; formal
parameters; surnameFirst; long; referring; informal
parameters; surnameFirst; long; addressing; formal
parameters; surnameFirst; long; addressing; informal
parameters; surnameFirst; medium; referring; formal
parameters; surnameFirst; medium; referring; informal
parameters; surnameFirst; medium; addressing; formal
parameters; surnameFirst; medium; addressing; informal
parameters; surnameFirst; short; referring; formal
parameters; surnameFirst; short; referring; informal
parameters; surnameFirst; short; addressing; formal
parameters; surnameFirst; short; addressing; informal
parameters; sorting; long; referring; formal
parameters; sorting; long; referring; informal
parameters; sorting; medium; referring; formal
parameters; sorting; medium; referring; informal
parameters; sorting; short; referring; formal
parameters; sorting; short; referring; informal

expectedResult; 凯

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal
parameters; givenFirst; medium; monogram; formal
parameters; givenFirst; medium; monogram; informal
parameters; givenFirst; short; monogram; formal
parameters; givenFirst; short; monogram; informal
parameters; surnameFirst; long; monogram; formal
parameters; surnameFirst; long; monogram; informal
parameters; surnameFirst; medium; monogram; formal
parameters; surnameFirst; medium; monogram; informal
parameters; surnameFirst; short; monogram; formal
parameters; surnameFirst; short; monogram; informal

endName

# foreignGS
name ; given; 永翘
name ; surname; 黄
name ; locale; fr_AQ

expectedResult; 永翘 黄

parameters; givenFirst; long; referring; formal
parameters; givenFirst; long; referring; informal
parameters; givenFirst; medium; referring; formal
parameters; givenFirst; medium; referring; informal
parameters; givenFirst; short; referring; formal
parameters; givenFirst; short; referring; informal

expectedResult; 黄 永翘

parameters; surnameFirst; long; referring; formal
parameters; surnameFirst; long; referring; informal
parameters; surnameFirst; medium; referring; formal
parameters; surnameFirst; medium; referring; informal
parameters; surnameFirst; short; referring; formal
parameters; surnameFirst; short; referring; informal
parameters; sorting; long; referring; formal
parameters; sorting; long; referring; informal
parameters; sorting; medium; referring; formal
parameters; sorting; medium; referring; informal
parameters; sorting; short; referring; formal
parameters; sorting; short; referring; informal

expectedResult; 永翘

parameters; givenFirst; long; addressing; informal
parameters; givenFirst; medium; addressing; informal
parameters; givenFirst; short; addressing; informal
parameters; surnameFirst; long; addressing; informal
parameters; surnameFirst; medium; addressing; informal
parameters; surnameFirst; short; addressing; informal

expectedResult; 永黄

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal
parameters; givenFirst; medium; monogram; formal
parameters; givenFirst; medium; monogram; informal
parameters; givenFirst; short; monogram; formal
parameters; givenFirst; short; monogram; informal

expectedResult; 黄永

parameters; surnameFirst; long; monogram; formal
parameters; surnameFirst; long; monogram; informal

expectedResult; 永

parameters; surnameFirst; medium; monogram; informal
parameters; surnameFirst; short; monogram; informal

expectedResult; 黄

parameters; givenFirst; long; addressing; formal
parameters; givenFirst; medium; addressing; formal
parameters; givenFirst; short; addressing; formal
parameters; surnameFirst; long; addressing; formal
parameters; surnameFirst; medium; addressing; formal
parameters; surnameFirst; medium; monogram; formal
parameters; surnameFirst; short; addressing; formal
parameters; surnameFirst; short; monogram; formal

endName

# foreignGGS
name ; given; 永强
name ; given2; 德安
name ; surname; 吴
name ; locale; fr_AQ

expectedResult; 吴 永强 德 安

parameters; surnameFirst; medium; referring; formal
parameters; surnameFirst; short; referring; formal
parameters; sorting; medium; referring; formal
parameters; sorting; short; referring; formal

expectedResult; 吴 永强 德安

parameters; surnameFirst; long; referring; formal
parameters; sorting; long; referring; formal

expectedResult; 永强 德安 吴

parameters; givenFirst; long; referring; formal
parameters; givenFirst; long; referring; informal
parameters; givenFirst; medium; referring; formal
parameters; givenFirst; medium; referring; informal
parameters; givenFirst; short; referring; formal
parameters; givenFirst; short; referring; informal

expectedResult; 吴 永强

parameters; surnameFirst; long; referring; informal
parameters; surnameFirst; medium; referring; informal
parameters; surnameFirst; short; referring; informal
parameters; sorting; long; referring; informal
parameters; sorting; medium; referring; informal
parameters; sorting; short; referring; informal

expectedResult; 吴永德

parameters; surnameFirst; long; monogram; formal

expectedResult; 永德吴

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal
parameters; givenFirst; medium; monogram; formal
parameters; givenFirst; medium; monogram; informal
parameters; givenFirst; short; monogram; formal
parameters; givenFirst; short; monogram; informal

expectedResult; 吴永

parameters; surnameFirst; long; monogram; informal

expectedResult; 永强

parameters; givenFirst; long; addressing; informal
parameters; givenFirst; medium; addressing; informal
parameters; givenFirst; short; addressing; informal
parameters; surnameFirst; long; addressing; informal
parameters; surnameFirst; medium; addressing; informal
parameters; surnameFirst; short; addressing; informal

expectedResult; 吴

parameters; givenFirst; long; addressing; formal
parameters; givenFirst; medium; addressing; formal
parameters; givenFirst; short; addressing; formal
parameters; surnameFirst; long; addressing; formal
parameters; surnameFirst; medium; addressing; formal
parameters; surnameFirst; medium; monogram; formal
parameters; surnameFirst; short; addressing; formal
parameters; surnameFirst; short; monogram; formal

expectedResult; 永

parameters; surnameFirst; medium; monogram; informal
parameters; surnameFirst; short; monogram; informal

endName

# foreignFull
name ; title; 先生
name ; given; 大文
name ; given-informal; 小二
name ; generation; 小
name ; credentials; 博士
name ; locale; fr_AQ

expectedResult; 先生 大文 博士

parameters; givenFirst; long; referring; formal
parameters; givenFirst; long; referring; informal
parameters; givenFirst; medium; referring; formal
parameters; givenFirst; medium; referring; informal
parameters; givenFirst; short; referring; formal
parameters; givenFirst; short; referring; informal

expectedResult; 大文 博士

parameters; surnameFirst; long; referring; formal
parameters; surnameFirst; medium; referring; formal
parameters; sorting; long; referring; formal
parameters; sorting; medium; referring; formal

expectedResult; 大文先生

parameters; givenFirst; long; addressing; formal
parameters; givenFirst; medium; addressing; formal
parameters; givenFirst; short; addressing; formal
parameters; surnameFirst; long; addressing; formal
parameters; surnameFirst; medium; addressing; formal
parameters; surnameFirst; short; addressing; formal

expectedResult; 大文

parameters; surnameFirst; short; referring; formal
parameters; surnameFirst; short; referring; informal
parameters; sorting; short; referring; formal

expectedResult; 小二

parameters; givenFirst; long; addressing; informal
parameters; givenFirst; medium; addressing; informal
parameters; givenFirst; short; addressing; informal
parameters; surnameFirst; long; referring; informal
parameters; surnameFirst; long; addressing; informal
parameters; surnameFirst; medium; referring; informal
parameters; surnameFirst; medium; addressing; informal
parameters; surnameFirst; short; addressing; informal
parameters; sorting; long; referring; informal
parameters; sorting; medium; referring; informal
parameters; sorting; short; referring; informal

expectedResult; 大

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal
parameters; givenFirst; medium; monogram; formal
parameters; givenFirst; medium; monogram; informal
parameters; givenFirst; short; monogram; formal
parameters; givenFirst; short; monogram; informal
parameters; surnameFirst; long; monogram; formal
parameters; surnameFirst; long; monogram; informal
parameters; surnameFirst; medium; monogram; formal
parameters; surnameFirst; short; monogram; formal

expectedResult; 小

parameters; surnameFirst; medium; monogram; informal
parameters; surnameFirst; short; monogram; informal

endName
