@@ -13,6 +13,19 @@ import (
13
13
14
14
type myStruct struct {}
15
15
16
+ func TestAndXXX (t * testing.T ) {
17
+ ok := Ok [int , error ](1 )
18
+ Equal (t , Ok [int , error ](3 ), ok .And (func (int ) int { return 3 }))
19
+ Equal (t , Ok [int , error ](3 ), ok .AndThen (func (int ) Result [int , error ] { return Ok [int , error ](3 ) }))
20
+ Equal (t , Err [int , error ](io .EOF ), ok .AndThen (func (int ) Result [int , error ] { return Err [int , error ](io .EOF ) }))
21
+
22
+ err := Err [int , error ](io .EOF )
23
+ Equal (t , Err [int , error ](io .EOF ), err .And (func (int ) int { return 3 }))
24
+ Equal (t , Err [int , error ](io .EOF ), err .AndThen (func (int ) Result [int , error ] { return Ok [int , error ](3 ) }))
25
+ Equal (t , Err [int , error ](io .EOF ), err .AndThen (func (int ) Result [int , error ] { return Err [int , error ](io .ErrUnexpectedEOF ) }))
26
+ Equal (t , Err [int , error ](io .ErrUnexpectedEOF ), ok .AndThen (func (int ) Result [int , error ] { return Err [int , error ](io .ErrUnexpectedEOF ) }))
27
+ }
28
+
16
29
func TestUnwrap (t * testing.T ) {
17
30
er := Err [int , error ](io .EOF )
18
31
PanicMatches (t , func () { er .Unwrap () }, "Result.Unwrap(): result is Err" )
0 commit comments