mirror of
https://github.com/MontFerret/ferret.git
synced 2024-12-25 01:32:13 +02:00
35 lines
810 B
Go
35 lines
810 B
Go
|
package math_test
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"github.com/MontFerret/ferret/pkg/runtime/values"
|
||
|
"github.com/MontFerret/ferret/pkg/stdlib/math"
|
||
|
"testing"
|
||
|
|
||
|
. "github.com/smartystreets/goconvey/convey"
|
||
|
)
|
||
|
|
||
|
func TestAsin(t *testing.T) {
|
||
|
Convey("Should return arcsine value", t, func() {
|
||
|
out, err := math.Asin(context.Background(), values.NewInt(1))
|
||
|
|
||
|
So(err, ShouldBeNil)
|
||
|
So(out, ShouldEqual, 1.5707963267948966)
|
||
|
|
||
|
out, err = math.Asin(context.Background(), values.NewInt(0))
|
||
|
|
||
|
So(err, ShouldBeNil)
|
||
|
So(out, ShouldEqual, 0)
|
||
|
|
||
|
out, err = math.Asin(context.Background(), values.NewInt(-1))
|
||
|
|
||
|
So(err, ShouldBeNil)
|
||
|
So(out, ShouldEqual, -1.5707963267948966)
|
||
|
|
||
|
out, err = math.Asin(context.Background(), values.NewInt(2))
|
||
|
|
||
|
So(err, ShouldBeNil)
|
||
|
So(values.IsNaN(out.(values.Float)), ShouldEqual, true)
|
||
|
})
|
||
|
}
|