github.com/MontFerret/ferret@v0.18.0/pkg/stdlib/math/atan2_test.go (about)

     1  package math_test
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/MontFerret/ferret/pkg/runtime/values"
     8  	"github.com/MontFerret/ferret/pkg/stdlib/math"
     9  
    10  	. "github.com/smartystreets/goconvey/convey"
    11  )
    12  
    13  func TestAtan2(t *testing.T) {
    14  	Convey("Should return tangent value", t, func() {
    15  		out, err := math.Atan2(context.Background(), values.NewInt(0), values.NewInt(0))
    16  
    17  		So(err, ShouldBeNil)
    18  		So(out, ShouldEqual, 0)
    19  
    20  		out, err = math.Atan2(context.Background(), values.NewInt(1), values.NewInt(0))
    21  
    22  		So(err, ShouldBeNil)
    23  		So(out, ShouldEqual, 1.5707963267948966)
    24  
    25  		out, err = math.Atan2(context.Background(), values.NewInt(1), values.NewInt(1))
    26  
    27  		So(err, ShouldBeNil)
    28  		So(out.Unwrap(), ShouldEqual, 0.7853981633974483)
    29  
    30  		out, err = math.Atan2(context.Background(), values.NewInt(-10), values.NewInt(20))
    31  
    32  		So(err, ShouldBeNil)
    33  		So(out.Unwrap(), ShouldEqual, -0.4636476090008061)
    34  	})
    35  }