mirror of
https://github.com/pseXperiments/icicle.git
synced 2026-01-07 22:53:56 -05:00
Resolves #191 and #113 --------- Co-authored-by: DmytroTym <dmytrotym1@gmail.com> Co-authored-by: ImmanuelSegol <3ditds@gmail.com>
84 lines
1.9 KiB
Go
84 lines
1.9 KiB
Go
// Copyright 2023 Ingonyama
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
// Code generated by Ingonyama DO NOT EDIT
|
|
|
|
package bw6761
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
"unsafe"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestG2Eqg2(t *testing.T) {
|
|
var point G2Point
|
|
|
|
point.Random()
|
|
|
|
assert.True(t, point.Eq(&point))
|
|
}
|
|
|
|
func TestG2FromProjectiveToAffine(t *testing.T) {
|
|
fmt.Print() // this prevents the test from hanging. TODO: figure out why
|
|
var projective G2Point
|
|
projective.Random()
|
|
|
|
var affine G2PointAffine
|
|
affine.FromProjective(&projective)
|
|
|
|
var projective2 G2Point
|
|
projective2.FromAffine(&affine)
|
|
|
|
assert.True(t, projective.IsOnCurve())
|
|
assert.True(t, projective2.IsOnCurve())
|
|
assert.True(t, projective.Eq(&projective2))
|
|
}
|
|
|
|
func TestG2Eqg2NotEqual(t *testing.T) {
|
|
var point G2Point
|
|
point.Random()
|
|
|
|
var point2 G2Point
|
|
point2.Random()
|
|
|
|
assert.False(t, point.Eq(&point2))
|
|
}
|
|
|
|
func TestG2ToBytes(t *testing.T) {
|
|
var point G2Point
|
|
var element G2Element
|
|
point.Random()
|
|
bytes := point.X.ToBytesLe()
|
|
|
|
assert.Equal(t, len(bytes), int(unsafe.Sizeof(element)))
|
|
}
|
|
|
|
func TestG2ShouldConvertToProjective(t *testing.T) {
|
|
fmt.Print() // this prevents the test from hanging. TODO: figure out why
|
|
var pointProjective G2Point
|
|
pointProjective.Random()
|
|
|
|
var pointAffine G2PointAffine
|
|
pointAffine.FromProjective(&pointProjective)
|
|
|
|
var proj G2Point
|
|
proj.FromAffine(&pointAffine)
|
|
|
|
assert.True(t, proj.IsOnCurve())
|
|
assert.True(t, pointProjective.Eq(&proj))
|
|
}
|