package security import ( "github.com/stretchr/testify/assert" "testing" ) func TestGenerateRandomNonRepeatingUint64(t *testing.T) { arrLen := 100000 randNumbs, err := GenerateRandomNonRepeatingUint64(arrLen) assert.NoError(t, err) assert.Equal(t, len(randNumbs), arrLen) } func TestGenerateRandomNonRepeatingInt(t *testing.T) { arrLen := 100000 randNumbs, err := GenerateRandomNonRepeatingInt(arrLen) assert.NoError(t, err) assert.Equal(t, len(randNumbs), arrLen) } func TestEncodeDecode(t *testing.T) { testArr := []uint64{1, 2, 3, 4, 5, 6} testEncode := EncodeBase64Str(testArr) testDecode, err := DecodeBase64Str(testEncode) assert.NoError(t, err) assert.Equal(t, len(testArr), len(testDecode)) for idx, val := range testArr { assert.Equal(t, val, testDecode[idx]) } } func TestMatrixTranspose(t *testing.T) { matrix := [][]int{ {0, 1, 2}, {3, 4, 5}, } expectedMatrixT := [][]int{ {0, 3}, {1, 4}, {2, 5}, } expectedFlatMat := MatrixToList(expectedMatrixT) matrixT, err := MatrixTranspose(matrix) assert.NoError(t, err) flatMat := MatrixToList(matrixT) assert.Equal(t, len(flatMat), len(expectedFlatMat)) for idx := range flatMat { assert.Equal(t, expectedFlatMat[idx], flatMat[idx]) } } func TestIntToByteAndBack(t *testing.T) { origIntArr := []int{1, 2, 3, 4, 5} byteArr := IntArrToByteArr(origIntArr) intArr := ByteArrToIntArr(byteArr) assert.ElementsMatch(t, origIntArr, intArr) }