snarkvm_console_types_boolean/
to_bits.rs1use super::*;
17
18impl<E: Environment> ToBits for Boolean<E> {
19 fn write_bits_le(&self, vec: &mut Vec<bool>) {
21 vec.push(**self);
22 }
23
24 fn write_bits_be(&self, vec: &mut Vec<bool>) {
26 vec.push(**self);
27 }
28}
29
30#[cfg(test)]
31mod tests {
32 use super::*;
33 use snarkvm_console_network_environment::Console;
34
35 type CurrentEnvironment = Console;
36
37 const ITERATIONS: u64 = 10_000;
38
39 #[test]
40 fn test_to_bits_le() {
41 let mut rng = TestRng::default();
42
43 for _ in 0..ITERATIONS {
44 let boolean: Boolean<CurrentEnvironment> = Uniform::rand(&mut rng);
46
47 let candidate = boolean.to_bits_le();
48 assert_eq!(vec![*boolean], candidate);
49 assert_eq!(Boolean::<CurrentEnvironment>::size_in_bits(), candidate.len());
50 }
51 }
52
53 #[test]
54 fn test_to_bits_be() {
55 let mut rng = TestRng::default();
56
57 for _ in 0..ITERATIONS {
58 let boolean: Boolean<CurrentEnvironment> = Uniform::rand(&mut rng);
60
61 let candidate = boolean.to_bits_be();
62 assert_eq!(vec![*boolean], candidate);
63 assert_eq!(Boolean::<CurrentEnvironment>::size_in_bits(), candidate.len());
64 }
65 }
66}