package Ġar cs . core . policy . proto Ċ Ċ import Ġar cs . core . data . Access Path Ċ import Ġar cs . core . data . Claim Ċ import Ġar cs . core . data . Information Flow Label . Predicate Ċ import Ġar cs . core . data . Information Flow Label . Semantic Tag Ċ import Ġar cs . core . policy . Policy Ċ import Ġar cs . core . policy . Policy Constraints Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠPolicy Constraints Proto Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġround Trip () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠPolicy Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpolicy Ġ= ĠPolicy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" My Policy ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe gress Type Ġ= Ġ" Logging " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe gress Check Ġ= ĠPredicate . Label ( Semantic Tag (" public ")), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Claims Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" store _ id _ 1 " Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClaim . Ass ume ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAccess Path ( Access Path . Root . Store (" store _ id _ 1 ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPredicate . Label ( Semantic Tag (" public ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" store _ id _ 2 " Ġto ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClaim . Ass ume ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAccess Path ( Access Path . Root . Store (" store _ id _ 2 ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPredicate . Label ( Semantic Tag (" private ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( constraints . encode (). decode ( empty Map ())). isEqualTo ( constraints ) ĊĠĠĠ Ġ} Ċ } Ċ