1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

crypto.rand: improve test to actually check for difference in data

This commit is contained in:
joe-conigliaro 2019-09-03 23:10:26 +10:00 committed by Alexander Medvednikov
parent c9a39dfdb5
commit 5dcfda0600

View File

@ -5,9 +5,26 @@
import crypto.rand import crypto.rand
fn test_crypto_rand() { fn test_crypto_rand() {
r := rand.read(100) or { no_bytes := 100
max_percentage_diff := 20
r1 := rand.read(no_bytes) or {
assert false assert false
return return
} }
assert r.len == 100 assert r1.len == no_bytes
r2 := rand.read(no_bytes) or {
assert false
return
}
assert r2.len == no_bytes
mut difference := 0
for i, _ in r1 {
difference += if r1[i] == r2[i] {0} else {1}
}
diff_percentage := f32(100) - (f32(difference)/f32(no_bytes)*100)
assert diff_percentage <= max_percentage_diff
} }