github.com/sttk/sabi@v0.5.0/example_runner_test.go (about) 1 package sabi_test 2 3 import ( 4 "github.com/sttk/sabi" 5 ) 6 7 func unused(v any) {} 8 9 type BazDax interface { 10 GetData() string 11 SetData(data string) 12 } 13 14 type bazDaxImpl struct { 15 } 16 17 func (dax bazDaxImpl) GetData() string { 18 return "" 19 } 20 func (dax bazDaxImpl) SetData(data string) { 21 } 22 23 var base0 = sabi.NewDaxBase() 24 25 var base = struct { 26 sabi.DaxBase 27 bazDaxImpl 28 }{ 29 DaxBase: base0, 30 bazDaxImpl: bazDaxImpl{}, 31 } 32 33 func ExamplePara() { 34 txn1 := sabi.Txn(base, func(dax BazDax) sabi.Err { return sabi.Ok() }) 35 txn2 := sabi.Txn(base, func(dax BazDax) sabi.Err { return sabi.Ok() }) 36 37 paraRunner := sabi.Para(txn1, txn2) 38 39 err := paraRunner() 40 41 // Output: 42 43 unused(err) 44 } 45 46 func ExampleSeq() { 47 txn1 := sabi.Txn(base, func(dax BazDax) sabi.Err { return sabi.Ok() }) 48 txn2 := sabi.Txn(base, func(dax BazDax) sabi.Err { return sabi.Ok() }) 49 50 seqRunner := sabi.Seq(txn1, txn2) 51 52 err := seqRunner() 53 54 // Output: 55 56 unused(err) 57 } 58 59 func ExampleRunPara() { 60 txn1 := sabi.Txn(base, func(dax BazDax) sabi.Err { return sabi.Ok() }) 61 txn2 := sabi.Txn(base, func(dax BazDax) sabi.Err { return sabi.Ok() }) 62 63 err := sabi.RunPara(txn1, txn2) 64 65 // Output: 66 67 unused(err) 68 } 69 70 func ExampleRunSeq() { 71 txn1 := sabi.Txn(base, func(dax BazDax) sabi.Err { return sabi.Ok() }) 72 txn2 := sabi.Txn(base, func(dax BazDax) sabi.Err { return sabi.Ok() }) 73 74 err := sabi.RunSeq(txn1, txn2) 75 76 // Output: 77 78 unused(err) 79 }