()
| 721 | |
| 722 | #[test] |
| 723 | fn initialization() { |
| 724 | let max = 100; |
| 725 | let mut rng = StdRng::seed_from_u64(0u64); |
| 726 | |
| 727 | let (params, keypair, accumulator, initial_elements, _) = |
| 728 | setup_universal_accum(&mut rng, max); |
| 729 | |
| 730 | let accumulator_1: UniversalAccumulator<G1Affine> = |
| 731 | UniversalAccumulator::initialize_given_f_V(accumulator.f_V, ¶ms, max); |
| 732 | assert_eq!(accumulator, accumulator_1); |
| 733 | |
| 734 | let initial = initial_elements.db.into_iter().collect::<Vec<Fr>>(); |
| 735 | let mut chunks = initial.chunks(30); |
| 736 | let f_V_1 = UniversalAccumulator::<G1Affine>::compute_initial_f_V( |
| 737 | chunks.next().unwrap(), |
| 738 | &keypair.secret_key, |
| 739 | ); |
| 740 | let f_V_2 = UniversalAccumulator::<G1Affine>::compute_initial_f_V( |
| 741 | chunks.next().unwrap(), |
| 742 | &keypair.secret_key, |
| 743 | ); |
| 744 | let f_V_3 = UniversalAccumulator::<G1Affine>::compute_initial_f_V( |
| 745 | chunks.next().unwrap(), |
| 746 | &keypair.secret_key, |
| 747 | ); |
| 748 | let f_V_4 = UniversalAccumulator::<G1Affine>::compute_initial_f_V( |
| 749 | chunks.next().unwrap(), |
| 750 | &keypair.secret_key, |
| 751 | ); |
| 752 | assert_eq!(accumulator.f_V, f_V_1 * f_V_2 * f_V_3 * f_V_4); |
| 753 | |
| 754 | let initial: Vec<Fr> = initial_elements_for_bls12_381!(Fr); |
| 755 | assert_eq!(initial.len(), 12); |
| 756 | let mut initial_elements_1 = InMemoryInitialElements::new(); |
| 757 | let accumulator_1: UniversalAccumulator<G1Affine> = UniversalAccumulator::initialize( |
| 758 | &mut rng, |
| 759 | ¶ms, |
| 760 | max, |
| 761 | &keypair.secret_key, |
| 762 | initial.clone(), |
| 763 | &mut initial_elements_1, |
| 764 | ); |
| 765 | assert_eq!( |
| 766 | initial_elements_1.db.len(), |
| 767 | max as usize + initial.len() + 1 |
| 768 | ); |
| 769 | for i in initial { |
| 770 | assert!(initial_elements_1.db.contains(&i)); |
| 771 | assert!(!accumulator_1.is_element_acceptable(&i, &initial_elements_1)); |
| 772 | } |
| 773 | } |
| 774 | |
| 775 | #[test] |
| 776 | fn membership_non_membership() { |
nothing calls this directly
no test coverage detected