From a6289893431c59bec9eec2493a955d8e05018dfc Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 15 Oct 2017 00:52:43 +0200 Subject: Add tests for equation.c. --- test/src/gen/test_equation.c | 118 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 test/src/gen/test_equation.c diff --git a/test/src/gen/test_equation.c b/test/src/gen/test_equation.c new file mode 100644 index 0000000..8e0d659 --- /dev/null +++ b/test/src/gen/test_equation.c @@ -0,0 +1,118 @@ +/* + * ecgen, tool for generating Elliptic curve domain parameters + * Copyright (C) 2017 J08nY + */ +#include +#include "gen/equation.h" +#include "test/default.h" +#include "test/input.h" + +void equation_setup() { + default_setup(); + input_setup(); +} + +void equation_teardown() { + default_teardown(); + input_teardown(); +} + +TestSuite(equation, .init = equation_setup, .fini = equation_teardown); + +Test(equation, test_a_gen_random) { + curve_t curve = {.field = stoi(19)}; + + int ret = a_gen_random(&curve, NULL, OFFSET_A); + cr_assert_eq(ret, 1, ); +} + +Test(equation, test_a_gen_input) { + curve_t curve = {.field = stoi(19)}; + cfg->bits = 10; + + unsigned int i = 7; + fprintf(write_in, "%u\n", i); + int ret = a_gen_input(&curve, NULL, OFFSET_A); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(modsi(i, curve.field), curve.a), ); +} + +Test(equation, test_a_gen_once) { + curve_t curve = {.field = stoi(19)}; + cfg->bits = 10; + + unsigned int i = 7; + GEN modi = modsi(i, curve.field); + fprintf(write_in, "%u\n", i); + int ret = a_gen_once(&curve, NULL, OFFSET_A); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(modi, curve.a), ); + + ret = a_gen_once(&curve, NULL, OFFSET_A); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(modi, curve.a), ); + equation_quit(); +} + +Test(equation, test_a_gen_zero) { + curve_t curve = {}; + int ret = a_gen_zero(&curve, NULL, OFFSET_A); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(gen_0, curve.a), ); +} + +Test(equation, test_a_gen_one) { + curve_t curve = {}; + int ret = a_gen_one(&curve, NULL, OFFSET_A); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(gen_1, curve.a), ); +} + +Test(equation, test_b_gen_random) { + curve_t curve = {.field = stoi(19)}; + + int ret = b_gen_random(&curve, NULL, OFFSET_B); + cr_assert_eq(ret, 1, ); +} + +Test(equation, test_b_gen_input) { + curve_t curve = {.field = stoi(19)}; + cfg->bits = 10; + + unsigned int i = 7; + fprintf(write_in, "%u\n", i); + int ret = b_gen_input(&curve, NULL, OFFSET_B); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(modsi(i, curve.field), curve.b), ); +} + +Test(equation, test_b_gen_once) { + curve_t curve = {.field = stoi(19)}; + cfg->bits = 10; + + unsigned int i = 7; + GEN modi = modsi(i, curve.field); + fprintf(write_in, "%u\n", i); + int ret = b_gen_once(&curve, NULL, OFFSET_B); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(modi, curve.b), ); + + ret = b_gen_once(&curve, NULL, OFFSET_B); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(modi, curve.b), ); + equation_quit(); +} + +Test(equation, test_b_gen_zero) { + curve_t curve = {}; + int ret = b_gen_zero(&curve, NULL, OFFSET_B); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(gen_0, curve.b), ); +} + +Test(equation, test_b_gen_one) { + curve_t curve = {}; + int ret = b_gen_one(&curve, NULL, OFFSET_B); + cr_assert_eq(ret, 1, ); + cr_assert(gequal(gen_1, curve.b), ); +} -- cgit v1.2.3-70-g09d2