@@ -13,6 +13,19 @@ import (
1313
1414type myStruct struct {}
1515
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+
1629func TestUnwrap (t * testing.T ) {
1730 er := Err [int , error ](io .EOF )
1831 PanicMatches (t , func () { er .Unwrap () }, "Result.Unwrap(): result is Err" )
0 commit comments