fn hash_exact_block_size_values()

in src/defs/eif_hasher.rs [210:242]


    fn hash_exact_block_size_values<T: Digest + Debug + Write + Clone>(
        mut hasher_alg: T,
        block_size: usize,
    ) {
        let data = vec![78u8; block_size];
        let output_size = hasher_alg.finalize_reset().len();
        let mut hasher = EifHasher::new(block_size, hasher_alg.clone()).unwrap();

        hasher.write_all(&data).unwrap();
        hasher_alg
            .write_all(&initial_digest(output_size)[..])
            .unwrap();
        hasher_alg.write_all(&data[..block_size]).unwrap();

        let mut hasher_clone = hasher.clone();
        let mut hasher_alg_clone = hasher_alg.clone();

        assert_eq!(
            hasher_alg.finalize_reset().to_vec(),
            hasher.finalize_reset().unwrap()
        );

        let result = hasher_alg_clone.finalize_reset();
        hasher_alg_clone
            .write_all(&initial_digest(output_size)[..])
            .unwrap();
        hasher_alg_clone.write_all(&result[..]).unwrap();

        assert_eq!(
            hasher_clone.tpm_extend_finalize_reset().unwrap(),
            hasher_alg_clone.finalize_reset().to_vec()
        );
    }