aboutsummaryrefslogtreecommitdiff
path: root/test/src/gen/test_seed.c
blob: 28c24d31ee468ec3b1a2dd83821dff4059c66c90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
 * ecgen, tool for generating Elliptic curve domain parameters
 * Copyright (C) 2017 J08nY
 */

#include <criterion/criterion.h>
#include "gen/seed.h"
#include "gen/types.h"
#include "test/default.h"

TestSuite(seed, .init = default_setup, .fini = default_teardown);

Test(seed, test_seed_random) {
	curve_t curve = {};
	config_t cfg = {};
	int ret = seed_gen_random(&curve, &cfg, NULL);

	cr_assert_eq(ret, 1, );
	cr_assert_not_null(curve.seed, );
	cr_assert_str_eq(pari_sprintf("%Px", curve.seed->seed), curve.seed->raw, );
	cr_assert_eq(strlen(curve.seed->raw), curve.seed->raw_len, );
}

Test(seed, test_seed_argument) {
	curve_t curve = {};
	char *seed = "abcdefabcdefabcdefab";
	config_t cfg = {.seed = seed};
	int ret = seed_gen_argument(&curve, &cfg, NULL);

	cr_assert_eq(ret, 1, );
	cr_assert_not_null(curve.seed, );
	cr_assert_str_eq(curve.seed->raw, seed, );
	cr_assert_str_eq(pari_sprintf("%Px", curve.seed->seed), curve.seed->raw, );
	cr_assert_eq(strlen(curve.seed->raw), curve.seed->raw_len, );
}

Test(seed, test_seed_input) {}