# 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: zu
#
# 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; Sinbad
name ; locale; zu_AQ

expectedResult; Sinbad

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; S

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; u-Irene
name ; surname; u-Adier
name ; locale; zu_AQ

expectedResult; u-Adier, u-Irene

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

expectedResult; u-Adier u-Irene

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; short; referring; formal

expectedResult; u-Irene u-Adier

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

expectedResult; UU

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

expectedResult; U

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

endName

# nativeGGS
name ; given; u-John
name ; given2; u-Hamish
name ; surname; u-Watson
name ; locale; zu_AQ

expectedResult; u-Watson, u-John u-Hamish

parameters; sorting; long; referring; formal

expectedResult; u-John u-Hamish u-Watson

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

expectedResult; u-Watson u-John u-Hamish

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; short; referring; formal

expectedResult; u-Watson, u-John u. H.

parameters; sorting; medium; referring; formal

expectedResult; u-Watson, u-John

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

expectedResult; UUU

parameters; givenFirst; long; monogram; formal
parameters; surnameFirst; long; monogram; formal

expectedResult; UU

parameters; givenFirst; long; monogram; informal
parameters; surnameFirst; long; monogram; informal

expectedResult; U

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

endName

# nativeFull
name ; title; Mr.
name ; given; Bertram Wilberforce
name ; given-informal; Bertie
name ; given2; Henry Robert
name ; surname-core; Wooster
name ; generation; Jr
name ; credentials; MP
name ; locale; zu_AQ

expectedResult; Wooster Mr. Bertram Wilberforce Henry Robert Jr, MP

parameters; surnameFirst; long; referring; formal

expectedResult; Mr. Bertram Wilberforce Henry Robert Wooster MP

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

expectedResult; Wooster Mr. Bertram Wilberforce Henry Robert MP

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; short; referring; formal

expectedResult; Wooster, Bertram Wilberforce Henry Robert

parameters; sorting; long; referring; formal

expectedResult; Wooster, Bertram Wilberforce H. R.

parameters; sorting; medium; referring; formal

expectedResult; Wooster, Bertie

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

expectedResult; BHW

parameters; givenFirst; long; monogram; formal

expectedResult; WBH

parameters; surnameFirst; long; monogram; formal

expectedResult; BW

parameters; givenFirst; long; monogram; informal

expectedResult; WB

parameters; surnameFirst; long; monogram; informal

expectedResult; B

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

expectedResult; W

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

endName

# foreignG
name ; given; Sinbad
name ; locale; ko_AQ

expectedResult; Sinbad

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; S

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; Käthe
name ; surname; Müller
name ; locale; ko_AQ

expectedResult; Müller, Käthe

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

expectedResult; Käthe Müller

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

expectedResult; Müller Käthe

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; short; referring; formal

expectedResult; KM

parameters; givenFirst; long; monogram; formal
parameters; givenFirst; long; monogram; informal

expectedResult; MK

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

expectedResult; K

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

expectedResult; M

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

endName

# foreignGGS
name ; given; Zäzilia
name ; given2; Hamish
name ; surname; Stöber
name ; locale; ko_AQ

expectedResult; Stöber, Zäzilia Hamish

parameters; sorting; long; referring; formal

expectedResult; Stöber Zäzilia Hamish

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; short; referring; formal

expectedResult; Zäzilia Hamish Stöber

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

expectedResult; Stöber, Zäzilia H.

parameters; sorting; medium; referring; formal

expectedResult; Stöber, Zäzilia

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

expectedResult; SZH

parameters; surnameFirst; long; monogram; formal

expectedResult; ZHS

parameters; givenFirst; long; monogram; formal

expectedResult; SZ

parameters; surnameFirst; long; monogram; informal

expectedResult; ZS

parameters; givenFirst; long; monogram; informal

expectedResult; S

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

expectedResult; Z

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

endName

# foreignFull
name ; title; u-Prof. Dr.
name ; given; u-Ada Cornelia
name ; given-informal; u-Neele
name ; given2; u-Eva Sophia
name ; surname-prefix; u-van den
name ; surname-core; u-Wold
name ; surname2; u-Becker Schmidt
name ; generation; isizukulwane
name ; credentials; M.D. Ph.D.
name ; locale; ko_AQ

expectedResult; u-van den u-Wold u-Becker Schmidt, u-Prof. Dr. u-Ada Cornelia u-Eva Sophia M.D. Ph.D.

parameters; sorting; short; referring; formal

expectedResult; u-Prof. Dr. u-Ada Cornelia u-Eva Sophia u-van den u-Wold u-Becker Schmidt M.D. Ph.D.

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

expectedResult; u-van den u-Wold u-Becker Schmidt u-Prof. Dr. u-Ada Cornelia u-Eva Sophia M.D. Ph.D.

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

expectedResult; u-van den u-Wold u-Prof. Dr. u-Ada Cornelia u-Eva Sophia isizukulwane, M.D. Ph.D.

parameters; surnameFirst; long; referring; formal

expectedResult; u-Wold, u-Ada Cornelia u-Eva Sophia u-van den

parameters; sorting; long; referring; formal

expectedResult; u-Wold, u-Ada Cornelia u. E. S. u-van den

parameters; sorting; medium; referring; formal

expectedResult; u-van den u-Wold, u-Neele

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

expectedResult; UUU

parameters; givenFirst; long; monogram; formal
parameters; surnameFirst; long; monogram; formal

expectedResult; UU

parameters; givenFirst; long; monogram; informal
parameters; surnameFirst; long; monogram; informal

expectedResult; U

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

endName
