shamir/test/shamir_test.gleam

27 lines
881 B
Plaintext

import gleeunit
import gleeunit/should
import shamir
pub fn main() {
gleeunit.main()
}
pub fn round_trip_test() {
let secret =
"testing123😊!!!&*😊aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb____"
let share_res = shamir.share(secret, 5, 3)
let assert Ok([share_1, _share_2, share_3, _share_4, share_5]) = share_res
let assert Ok(combined) = shamir.combine([share_1, share_3, share_5])
combined |> should.equal(secret)
}
pub fn new_share_test() {
let secret =
"testing123😊!!!&*😊aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb____"
let share_res = shamir.share(secret, 5, 3)
let assert Ok([share_1, _share_2, share_3, share_4, _share_5]) = share_res
let assert Ok(share_new) = shamir.new_share(6, [share_1, share_3, share_4])
let assert Ok(new_combined) = shamir.combine([share_1, share_4, share_new])
new_combined |> should.equal(secret)
}