arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
ark-curves-cherry-picked/pallas/src/curves/tests.rs
pallas/src/curves/tests.rsRaw
 1#![allow(unused_imports)]
 2use ark_ff::{
 3    fields::{Field, FpParameters, PrimeField, SquareRootField},
 4    One, Zero,
 5};
 6use ark_serialize::CanonicalSerialize;
 7use ark_std::test_rng;
 8
 9use ark_ec::{models::SWModelParameters, AffineCurve, PairingEngine, ProjectiveCurve};
10use ark_std::ops::{AddAssign, MulAssign};
11use ark_std::rand::Rng;
12
13use crate::{Affine, PallasParameters, Projective};
14
15use ark_algebra_test_templates::{
16    curves::{curve_tests, sw_tests},
17    groups::group_test,
18};
19
20#[test]
21fn test_projective_curve() {
22    curve_tests::<Projective>();
23    sw_tests::<PallasParameters>();
24}
25
26#[test]
27fn test_projective_group() {
28    let mut rng = test_rng();
29    let a: Projective = rng.gen();
30    let b: Projective = rng.gen();
31    group_test(a, b);
32}
33
34#[test]
35fn test_generator() {
36    let generator = Affine::prime_subgroup_generator();
37    assert!(generator.is_on_curve());
38    assert!(generator.is_in_correct_subgroup_assuming_on_curve());
39}