github.com/seeker-insurance/kit@v0.0.13/imath/operator/binop_test.go (about)

     1  package operator
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/seeker-insurance/kit/random"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestAdd(t *testing.T) {
    11  	A, _ := random.Int64s(25)
    12  	B, _ := random.Int64s(25)
    13  	for i := range A {
    14  		a, b := int(A[i]), int(B[i])
    15  		assert.Equal(t, a+b, Add(a, b))
    16  	}
    17  }
    18  
    19  func TestMul(t *testing.T) {
    20  	A, _ := random.Int64s(25)
    21  	B, _ := random.Int64s(25)
    22  	for i := range A {
    23  		a, b := int(A[i]), int(B[i])
    24  		assert.Equal(t, a*b, Mul(a, b))
    25  	}
    26  }
    27  
    28  func TestDiv(t *testing.T) {
    29  	A, _ := random.Int64s(25)
    30  	B, _ := random.Int64s(25)
    31  	for i := range A {
    32  		a, b := int(A[i]), int(B[i])
    33  		assert.Equal(t, a/b, Div(a, b))
    34  	}
    35  }
    36  
    37  func TestMod(t *testing.T) {
    38  	A, _ := random.Int64s(25)
    39  	B, _ := random.Int64s(25)
    40  	for i := range A {
    41  		a, b := int(A[i]), int(B[i])
    42  		assert.Equal(t, a%b, Mod(a, b))
    43  	}
    44  }
    45  
    46  func TestSub(t *testing.T) {
    47  	A, _ := random.Int64s(25)
    48  	B, _ := random.Int64s(25)
    49  	for i := range A {
    50  		a, b := int(A[i]), int(B[i])
    51  		assert.Equal(t, a-b, Sub(a, b))
    52  	}
    53  }
    54  
    55  func TestLT(t *testing.T) {
    56  	A, _ := random.Int64s(25)
    57  	B, _ := random.Int64s(25)
    58  	for i := range A {
    59  		a, b := int(A[i]), int(B[i])
    60  		assert.Equal(t, a < b, LT(a, b))
    61  	}
    62  }
    63  
    64  func TestLTE(t *testing.T) {
    65  	A, _ := random.Int64s(25)
    66  	B, _ := random.Int64s(25)
    67  	for i := range A {
    68  		a, b := int(A[i]), int(B[i])
    69  		assert.Equal(t, a <= b, LTE(a, b))
    70  	}
    71  }
    72  
    73  func TestGT(t *testing.T) {
    74  	A, _ := random.Int64s(25)
    75  	B, _ := random.Int64s(25)
    76  	for i := range A {
    77  		a, b := int(A[i]), int(B[i])
    78  		assert.Equal(t, a > b, GT(a, b))
    79  	}
    80  }
    81  
    82  func TestGTE(t *testing.T) {
    83  	A, _ := random.Int64s(25)
    84  	B, _ := random.Int64s(25)
    85  	for i := range A {
    86  		a, b := int(A[i]), int(B[i])
    87  		assert.Equal(t, a >= b, GTE(a, b))
    88  	}
    89  }