package Ġday 7 Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġstri kt . api . expect That Ċ import Ġstri kt . assertions . isEqualTo Ċ Ċ class ĠParse Rule Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġsuccessfully Ġparse Ġempty Ġrule Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġrule Ġ= Ġ" fa ded Ġblue Ġbags Ġcontain Ġno Ġother Ġbags ." ĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġparsed Rule Ġ= Ġparse Rule ( rule ) ĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġexpect That ( parsed Rule ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġdescribed Bag Ġ}. isEqualTo ( Bag (" fa ded Ġblue ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġcontained B ags Ġ}. isEqualTo ( empty Map ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġsuccessfully Ġparse Ġempty Ġrule Ġ 2 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġrule Ġ= Ġ" dot ted Ġblack Ġbags Ġcontain Ġno Ġother Ġbags ." ĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġparsed Rule Ġ= Ġparse Rule ( rule ) ĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġexpect That ( parsed Rule ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġdescribed Bag Ġ}. isEqualTo ( Bag (" dot ted Ġblack ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġcontained B ags Ġ}. isEqualTo ( empty Map ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġsuccessfully Ġparse Ġnon - empty Ġrule Ġ 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġrule Ġ= Ġ" bright Ġwhite Ġbags Ġcontain Ġ 1 Ġsh iny Ġgold Ġbag ." ĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġparsed Rule Ġ= Ġparse Rule ( rule ) ĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġexpect That ( parsed Rule ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġdescribed Bag Ġ}. isEqualTo ( Bag (" bright Ġwhite ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġcontained B ags Ġ}. isEqualTo ( map Of ( Bag (" sh iny Ġgold ") Ġto Ġ 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġsuccessfully Ġparse Ġnon - empty Ġrule Ġ 2 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġrule Ġ= Ġ" light Ġred Ġbags Ġcontain Ġ 1 Ġbright Ġwhite Ġbag , Ġ 2 Ġmut ed Ġyellow Ġbags ." ĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġparsed Rule Ġ= Ġparse Rule ( rule ) ĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġexpect That ( parsed Rule ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġdescribed Bag Ġ}. isEqualTo ( Bag (" light Ġred ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġcontained B ags Ġ}. isEqualTo ( map Of ( Bag (" bright Ġwhite ") Ġto Ġ 1 , ĠBag (" muted Ġyellow ") Ġto Ġ 2 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġsuccessfully Ġparse Ġnon - empty Ġrule Ġ 3 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġrule Ġ= Ġ" vi br ant Ġpl um Ġbags Ġcontain Ġ 5 Ġfa ded Ġblue Ġbags , Ġ 6 Ġdotted Ġblack Ġbags ." ĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġparsed Rule Ġ= Ġparse Rule ( rule ) ĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġexpect That ( parsed Rule ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġdescribed Bag Ġ}. isEqualTo ( Bag (" vi br ant Ġpl um ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġcontained B ags Ġ}. isEqualTo ( map Of ( Bag (" fa ded Ġblue ") Ġto Ġ 5 , ĠBag (" dot ted Ġblack ") Ġto Ġ 6 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }