/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 - 2 0 1 9 . Ġdata 2 viz Ġs Ãł rl . Ċ Ġ* Ċ Ġ* Ġ Ġ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 Ġio . data 2 viz . scale Ċ Ċ import Ġio . data 2 viz . math . pct Ċ import Ġio . data 2 viz . test . TestBase Ċ import Ġkotlin . test . Test Ċ Ċ class ĠScale Band Tests Ġ: ĠTest Base () Ġ{ ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ has _ expected _ defaults () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < Int >() ĊĊĠĠĠĠĠĠĠ Ġscale . domain ĠshouldBe ĠlistOf () ĊĠĠĠĠĠĠĠ Ġscale . range ĠshouldBe Ġinterval Of (. 0 , Ġ 1 . 0 ) ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġscale . round ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġscale . padding Inner ĠshouldBe Ġ 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Outer ĠshouldBe Ġ 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . align ĠshouldBe Ġ 5 0 . pct ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ value _ comp utes _ discrete _ bands _ in _ a _ continuous _ range () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of (. 0 , Ġ 9 6 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġscale (" foo ") ĠshouldBe ĠDouble . NaN ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" foo ", Ġ" bar ") ĊĠĠĠĠĠĠĠ Ġscale (" foo ") ĠshouldBe Close Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" bar ") ĠshouldBe Close Ġ 4 8 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of (. 0 , Ġ 1 2 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 4 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 8 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 4 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 2 0 . pct ĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ 7 . 5 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 4 5 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 8 2 . 5 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 0 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ value _ returns _ undefined _ for _ values _ outside _ the _ domain () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĊĠĠĠĠĠĠĠ Ġscale (" d ") ĠshouldBe ĠDouble . NaN ĊĠĠĠĠĠĠĠ Ġscale (" e ") ĠshouldBe ĠDouble . NaN ĊĠĠĠĠĠĠĠ Ġscale (" f ") ĠshouldBe ĠDouble . NaN ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ value _ does _ not _ implicit ly _ add _ values _ to _ the _ domain () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĊĠĠĠĠĠĠĠ Ġscale (" d ") ĊĠĠĠĠĠĠĠ Ġscale (" e ") ĊĠĠĠĠĠĠĠ Ġscale . domain ĠshouldBe ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ step _ returns _ the _ distance _ between _ the _ starts _ of _ adjacent _ bands () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of (. 0 , Ġ 9 6 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ") ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 9 6 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ") ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 4 8 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 3 2 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 5 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ") ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 6 4 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ") ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 3 8 4 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ bandwidth _ returns _ the _ width _ of _ the _ band () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of (. 0 , Ġ 9 6 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf () ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 9 6 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ") ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 9 6 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ") ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 4 8 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 2 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 5 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf () ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 4 8 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ") ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 2 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ") ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 1 9 2 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ domain _ comp utes _ reason able _ band _ and _ step _ values () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of (. 0 , Ġ 9 6 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf () ĊĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 9 6 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 9 6 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 5 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 9 6 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 4 8 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 1 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 9 6 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ. 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ domain _ value _ compute _ a _ reason able _ singleton _ band _ even _ with _ padding () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of (. 0 , Ġ 9 6 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" foo ") ĊĊĠĠĠĠĠĠĠ Ġscale (" foo ") ĠshouldBe Close Ġ. 0 ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 9 6 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 9 6 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 5 0 . pct ĊĠĠĠĠĠĠĠ Ġscale (" foo ") ĠshouldBe Close Ġ 3 2 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 6 4 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 2 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 1 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale (" foo ") ĠshouldBe Close Ġ 4 8 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . step ĠshouldBe Close Ġ 4 8 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ. 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ domain _ values _ re comp utes _ the _ bands () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of (. 0 , Ġ 1 0 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ. 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 3 3 . 3 3 3 3 3 3 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 6 6 . 6 6 6 6 6 6 ĊĊĠĠĠĠĠĠĠ Ġscale . round Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ. 0 ĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 3 3 . 0 ĠĠĠĠĠĠĠ Ġ// ĠTODO Ġ 3 4 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 6 6 . 0 ĠĠĠĠĠĠĠ Ġ// ĠTODO Ġ 6 7 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ", Ġ" d ") ĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ. 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 2 5 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 5 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" d ") ĠshouldBe Close Ġ 7 5 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ domain _ m akes _ a _ copy _ of _ the _ domain () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġval Ġdomain Ġ= Ġmutable ListOf (" red ", Ġ" blue ") ĊĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= Ġdomain ĊĠĠĠĠĠĠĠ Ġdomain . add (" green ") ĊĠĠĠĠĠĠĠ Ġscale . domain ĠshouldBe ĠlistOf (" red ", Ġ" blue ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ range _ values _ can _ be _ desc ending () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of ( 1 2 0 . 0 , Ġ. 0 ) ĊĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ 8 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 4 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 4 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 2 0 . pct ĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ 8 2 . 5 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 4 5 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 7 . 5 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 0 . 0 ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ padding Inner _ spec ifies _ the _ inner _ padding () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of ( 1 2 0 . 0 , Ġ. 0 ) ĊĠĠĠĠĠĠĠ Ġscale . round Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġscale . padding Inner Ġ= Ġ 1 0 . pct ĊĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ 8 3 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 4 2 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 7 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Inner Ġ= Ġ 2 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 4 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ padding Inner _ co er ces _ padding _ to _ 0 _ 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĊĠĠĠĠĠĠĠ Ġscale . padding Inner Ġ= Ġ 1 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Inner ĠshouldBe Ġ 1 0 0 . pct ĊĊĠĠĠĠĠĠĠ Ġscale . padding Inner Ġ= Ġ- 1 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Inner ĠshouldBe Ġ 0 . pct ĊĊĠĠĠĠĠĠĠ Ġscale . padding Inner Ġ= Ġ 2 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Inner ĠshouldBe Ġ 1 0 0 . pct ĊĊĠĠĠĠĠĠĠ Ġscale . padding Inner Ġ= ĠDouble . NaN . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Inner . value ĠshouldBe ĠDouble . NaN ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ padding Outer _ spec ifies _ the _ outer _ padding () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of ( 1 2 0 . 0 , Ġ. 0 ) ĊĠĠĠĠĠĠĠ Ġscale . round Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġscale . padding Inner Ġ= Ġ 2 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Outer Ġ= Ġ 1 0 . pct ĊĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ 8 4 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 4 4 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 4 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 2 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Outer Ġ= Ġ 1 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ 7 5 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 5 0 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 2 5 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 2 0 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ padding Outer _ co er ces _ padding _ to _ 0 _ 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĊĠĠĠĠĠĠĠ Ġscale . padding Outer Ġ= Ġ 1 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Outer ĠshouldBe Ġ 1 0 0 . pct ĊĊĠĠĠĠĠĠĠ Ġscale . padding Outer Ġ= Ġ- 1 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Outer ĠshouldBe Ġ 0 . pct ĊĊĠĠĠĠĠĠĠ Ġscale . padding Outer Ġ= Ġ 2 0 0 . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Outer ĠshouldBe Ġ 1 0 0 . pct ĊĊĠĠĠĠĠĠĠ Ġscale . padding Outer Ġ= ĠDouble . NaN . pct ĊĠĠĠĠĠĠĠ Ġscale . padding Outer . value ĠshouldBe ĠDouble . NaN ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġband _ round _ true _ comp utes _ discrete _ rounded _ bands _ in _ a _ continuous _ range () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscale Ġ= ĠSca les . Discrete . band < String >() ĊĠĠĠĠĠĠĠ Ġscale . domain Ġ= ĠlistOf (" a ", Ġ" b ", Ġ" c ") ĊĠĠĠĠĠĠĠ Ġscale . range Ġ= Ġinterval Of (. 0 , Ġ 1 0 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġscale . round Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ. 0 ĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 3 3 . 0 ĠĠĠĠĠĠĠ Ġ// ĠTODO Ġ 3 4 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 6 6 . 0 ĠĠĠĠĠĠĠ Ġ// ĠTODO Ġ 6 7 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 3 3 . 0 ĊĊĠĠĠĠĠĠĠ Ġscale . padding Ġ= Ġ 2 0 . pct ĊĠĠĠĠĠĠĠ Ġscale (" a ") ĠshouldBe Close Ġ 7 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" b ") ĠshouldBe Close Ġ 3 8 . 0 ĊĠĠĠĠĠĠĠ Ġscale (" c ") ĠshouldBe Close Ġ 6 9 . 0 ĊĠĠĠĠĠĠĠ Ġscale . bandwidth ĠshouldBe Close Ġ 2 5 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠTODO Ġalign Ġtests Ġfor Ġpadding Ġ& Ġround ĊĠĠĠ Ġ// ĠTODO Ġ: Ġadd Ġmore Ġscale Ġtests Ċ }