/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . compose . ui . text . font Ċ Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . filters . Medium Test Ċ import Ġandroidx . test . filters . Sdk Suppress Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ @ Medium Test Ċ class ĠPlatform Type faces Test Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġassert Suffix ( suffix : ĠString , Ġfor Range : ĠInt Range ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( weight Ġin Ġfor Range ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbase Ġ= Ġ" BAS ENAME [$ weight ]" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġget Weight Suffix For Fallback Family Name ( base , ĠFontWeight ( weight )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( name ). isEqualTo ("$ base $ suffix ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Weight Suffix For Fallback Family Name _ weight 1 To 1 9 9 _ is Th in () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Suffix ("- thin ", Ġ 1 .. 1 9 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Weight Suffix For Fallback Family Name _ weight 2 0 0 To 3 9 9 _ is Light () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Suffix ("- light ", Ġ 2 0 0 .. 3 9 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Weight Suffix For Fallback Family Name _ weight 4 0 0 to 4 9 9 _ is Normal () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Suffix ("", Ġ 4 0 0 .. 4 9 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Weight Suffix For Fallback Family Name _ weight 5 0 0 to 5 9 9 _ is Medium () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Suffix ("- medium ", Ġ 5 0 0 .. 5 9 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Weight Suffix For Fallback Family Name _ weight 6 0 0 to 7 9 9 _ is Bold () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Suffix ("", Ġ 6 0 0 .. 7 9 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Weight Suffix For Fallback Family Name _ weight 8 0 0 to 1 0 0 0 _ is Black () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Suffix ("- black ", Ġ 8 0 0 .. 1 0 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Sdk Suppress ( max Sdk Version Ġ= Ġ 2 7 ) ĊĠĠĠ Ġfun Ġassert Create Named _ returns Platform Fallback s _ for All Re levant Weights () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠPlatform Type faces () ĊĠĠĠĠĠĠĠ Ġsubject . assert Create Named IsNot Default ( Font Family . Sans Ser if , Ġ 1 .. 3 9 9 ) ĊĠĠĠĠĠĠĠ Ġsubject . assert Create Named IsNot Default ( Font Family . Sans Ser if , Ġ 5 0 0 .. 5 9 9 ) ĊĠĠĠĠĠĠĠ Ġsubject . assert Create Named IsNot Default ( Font Family . Sans Ser if , Ġ 8 0 0 .. 1 0 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠPlatform Type faces . assert Create Named IsNot Default ( ĊĠĠĠĠĠĠĠ ĠfontFamily : ĠGeneric Font Family , ĊĠĠĠĠĠĠĠ Ġfor Range : ĠInt Range ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbold Type face Ġ= Ġandroid . graphics . Type face . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily . name , Ġandroid . graphics . Type face . BOLD ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġnormal Type face Ġ= Ġandroid . graphics . Type face . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily . name , Ġandroid . graphics . Type face . NORMAL ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( weight Ġin Ġfor Range ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Type face Up right Ġ= Ġcreate Named ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠfontFamily , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Style Ġ= ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual Type face Up right ). isNot EqualTo ( bold Type face ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual Type face Up right ). isNot EqualTo ( normal Type face ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Sdk Suppress ( min Sdk Version Ġ= Ġ 2 8 ) ĊĠĠĠ Ġfun Ġcreate Named _ returns Platform Default _ above Api 2 8 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠPlatform Type faces () ĊĠĠĠĠĠĠĠ Ġsubject . assert Create Named Is Default ( Font Family . Sans Ser if , Ġ 1 .. 3 9 9 ) ĊĠĠĠĠĠĠĠ Ġsubject . assert Create Named Is Default ( Font Family . Sans Ser if , Ġ 5 0 0 .. 5 9 9 ) ĊĠĠĠĠĠĠĠ Ġsubject . assert Create Named Is Default ( Font Family . Sans Ser if , Ġ 8 0 0 .. 1 0 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Requires Api ( 2 8 ) ĊĠĠĠ Ġprivate Ġfun ĠPlatform Type faces . assert Create Named Is Default ( ĊĠĠĠĠĠĠĠ ĠfontFamily : ĠGeneric Font Family , ĊĠĠĠĠĠĠĠ Ġfor Range : ĠInt Range ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( weight Ġin Ġfor Range ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnormal Type face Ġ= Ġandroid . graphics . Type face . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . graphics . Type face . create ( fontFamily . name , Ġandroid . graphics . Type face . NORMAL ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweight , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Type face Up right Ġ= Ġcreate Named ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠfontFamily , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Style Ġ= ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( actual Type face Up right ). isEqualTo ( normal Type face ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġassert Optional On Device Font Family ByName _ returns Platform Fallback _ Sans Ser if _ all Weights () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠPlatform Type faces () ĊĠĠĠĠĠĠĠ Ġfor Ġ( weight Ġin Ġ 1 .. 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgeneric Font Family Type face Ġ= Ġsubject . create Named ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Family . Sans Ser if , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptional On Device Font Family Type face Ġ= Ġsubject . optional On Device Font Family ByName ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Family . Sans Ser if . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( generic Font Family Type face ). isEqualTo ( optional On Device Font Family Type face ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġassert Optional On Device Font Family ByName _ returns Platform Fallback _ Ser if _ all Weights () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠPlatform Type faces () ĊĠĠĠĠĠĠĠ Ġfor Ġ( weight Ġin Ġ 1 .. 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgeneric Font Family Type face Ġ= Ġsubject . create Named ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Family . Ser if , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptional On Device Font Family Type face Ġ= Ġsubject . optional On Device Font Family ByName ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Family . Ser if . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( generic Font Family Type face ). isEqualTo ( optional On Device Font Family Type face ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġassert Optional On Device Font Family ByName _ returns Platform Fallback _ Mono space _ all Weights () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠPlatform Type faces () ĊĠĠĠĠĠĠĠ Ġfor Ġ( weight Ġin Ġ 1 .. 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgeneric Font Family Type face Ġ= Ġsubject . create Named ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Family . Mono space , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptional On Device Font Family Type face Ġ= Ġsubject . optional On Device Font Family ByName ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Family . Mono space . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( generic Font Family Type face ). isEqualTo ( optional On Device Font Family Type face ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġassert Optional On Device Font Family ByName _ returns Platform Fallback _ Cur s ive _ all Weights () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠPlatform Type faces () ĊĠĠĠĠĠĠĠ Ġfor Ġ( weight Ġin Ġ 1 .. 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgeneric Font Family Type face Ġ= Ġsubject . create Named ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Family . Cur s ive , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptional On Device Font Family Type face Ġ= Ġsubject . optional On Device Font Family ByName ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Family . Cur s ive . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFontWeight ( weight ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFont Style . Normal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( generic Font Family Type face ). isEqualTo ( optional On Device Font Family Type face ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }