arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
ark-curves-cherry-picked/cp6_782/src/fields/tests.rs
cp6_782/src/fields/tests.rsRaw
 1use ark_ff::{test_rng, Field, PrimeField};
 2use ark_serialize::{buffer_bit_byte_size, CanonicalSerialize};
 3use rand::Rng;
 4
 5use crate::*;
 6
 7use ark_curve_tests::fields::*;
 8
 9#[test]
10fn test_fr() {
11    let mut rng = test_rng();
12    let a: Fr = rng.gen();
13    let b: Fr = rng.gen();
14    field_test(a, b);
15    sqrt_field_test(a);
16    primefield_test::<Fr>();
17}
18
19#[test]
20fn test_fq() {
21    let mut rng = test_rng();
22    let a: Fq = rng.gen();
23    let b: Fq = rng.gen();
24    field_test(a, b);
25    primefield_test::<Fq>();
26    sqrt_field_test(a);
27
28    let byte_size = a.serialized_size();
29    let (_, buffer_size) = buffer_bit_byte_size(Fq::size_in_bits());
30    assert_eq!(byte_size, buffer_size);
31    field_serialization_test::<Fq>(byte_size);
32}
33
34#[test]
35fn test_fq3() {
36    let mut rng = test_rng();
37    let a: Fq3 = rng.gen();
38    let b: Fq3 = rng.gen();
39    field_test(a, b);
40    sqrt_field_test(a);
41    frobenius_test::<Fq3, _>(Fq::characteristic(), 13);
42}
43
44#[test]
45fn test_fq6() {
46    let mut rng = test_rng();
47    let a: Fq6 = rng.gen();
48    let b: Fq6 = rng.gen();
49    field_test(a, b);
50    frobenius_test::<Fq6, _>(Fq::characteristic(), 13);
51}