package Ġarrow . opt ics . std Ċ Ċ import Ġarrow . core . test . Unit Spec Ċ import Ġarrow . core . test . generators . function A To B Ċ import Ġarrow . core . test . generators . tuple 1 0 Ċ import Ġarrow . core . test . generators . tuple 4 Ċ import Ġarrow . core . test . generators . tuple 5 Ċ import Ġarrow . core . test . generators . tuple 6 Ċ import Ġarrow . core . test . generators . tuple 7 Ċ import Ġarrow . core . test . generators . tuple 8 Ċ import Ġarrow . core . test . generators . tuple 9 Ċ import Ġarrow . opt ics . Lens Ċ import Ġarrow . opt ics . Traversal Ċ import Ġarrow . opt ics . test . l aws . Lens L aws Ċ import Ġarrow . opt ics . test . l aws . Traversal L aws Ċ import Ġio . kot est . property . Ar b Ċ import Ġio . kot est . property . ar bitrary . boolean Ċ import Ġio . kot est . property . ar bitrary . int Ċ import Ġio . kot est . property . ar bitrary . pair Ċ import Ġio . kot est . property . ar bitrary . string Ċ import Ġio . kot est . property . ar bitrary . triple Ċ Ċ class ĠTuple Test Ġ: ĠUnit Spec () Ġ{ ĊĊĠ Ġinit Ġ{ ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Lens Ġpair Ġfirst Ġ- Ġ", ĊĠĠĠĠĠ ĠLens L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġlens Ġ= ĠLens . pair First (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . pair ( Ar b . int (), ĠA rb . string ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . int (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . int ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Lens Ġpair Ġsecond Ġ- Ġ", ĊĠĠĠĠĠ ĠLens L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġlens Ġ= ĠLens . pair Second (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . pair ( Ar b . int (), ĠA rb . string ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . string (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . string ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Lens Ġtriple Ġfirst Ġ- Ġ", ĊĠĠĠĠĠ ĠLens L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġlens Ġ= ĠLens . triple First (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . triple ( Ar b . int (), ĠA rb . string (), ĠA rb . string ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . int (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . int ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Lens Ġtriple Ġsecond Ġ- Ġ", ĊĠĠĠĠĠ ĠLens L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġlens Ġ= ĠLens . triple Second (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . triple ( Ar b . int (), ĠA rb . string (), ĠA rb . int ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . string (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . string ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Lens Ġtriple Ġthird Ġ- Ġ", ĊĠĠĠĠĠ ĠLens L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġlens Ġ= ĠLens . triple Third (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . triple ( Ar b . int (), ĠA rb . int (), ĠA rb . string ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . string (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . string ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġpair Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . pair (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . pair ( Ar b . boolean (), ĠA rb . boolean ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . boolean ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġtriple Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . triple (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . triple ( Ar b . boolean (), ĠA rb . boolean (), ĠA rb . boolean ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . boolean ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġtuple 4 Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . tuple 4 (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . tuple 4 ( Ar b . boolean (), ĠA rb . boolean (), ĠA rb . boolean (), ĠA rb . boolean ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . boolean ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġtuple 5 Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . tuple 5 (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . tuple 5 ( Ar b . boolean (), ĠA rb . boolean (), ĠA rb . boolean (), ĠA rb . boolean (), ĠA rb . boolean ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . boolean ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġtuple 6 Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . tuple 6 (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . tuple 6 ( Ar b . boolean (), ĠA rb . boolean (), ĠA rb . boolean (), ĠA rb . boolean (), ĠA rb . boolean (), ĠA rb . boolean ()), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . boolean ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġtuple 7 Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . tuple 7 (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . tuple 7 ( ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean () ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . boolean ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġtuple 8 Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . tuple 8 (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . tuple 8 ( ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean () ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . boolean ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġtuple 9 Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . tuple 9 (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . tuple 9 ( ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean () ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . int ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġtest L aws ( ĊĠĠĠĠĠ Ġ" Traversal Ġtuple 1 0 Ġ- Ġ", ĊĠĠĠĠĠ ĠTra versal L aws . l aws ( ĊĠĠĠĠĠĠĠ Ġtraversal Ġ= ĠTra versal . tuple 1 0 (), ĊĠĠĠĠĠĠĠ Ġa Gen Ġ= ĠA rb . tuple 1 0 ( ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean (), ĊĠĠĠĠĠĠĠĠĠ ĠA rb . boolean () ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġb Gen Ġ= ĠA rb . boolean (), ĊĠĠĠĠĠĠĠ Ġfunc Gen Ġ= ĠA rb . function A To B ( Ar b . boolean ()), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠ Ġ} Ċ } Ċ