aboutsummaryrefslogtreecommitdiff
path: root/test/src/math/test_subgroups.c
diff options
context:
space:
mode:
authorJ08nY2017-08-29 16:59:14 +0200
committerJ08nY2017-08-29 16:59:14 +0200
commit3e9be5f5db1bccb5eb11d51cf615182eb394afb6 (patch)
tree93977fbc769daaf1b89620753070e4f408b7bf41 /test/src/math/test_subgroups.c
parentf98b11a252ca227cf0376a3cd7cf1d69f6686385 (diff)
parent4b5d03eda289aa477e693cad8b598a398bb7e04c (diff)
downloadecgen-3e9be5f5db1bccb5eb11d51cf615182eb394afb6.tar.gz
ecgen-3e9be5f5db1bccb5eb11d51cf615182eb394afb6.tar.zst
ecgen-3e9be5f5db1bccb5eb11d51cf615182eb394afb6.zip
Diffstat (limited to 'test/src/math/test_subgroups.c')
-rw-r--r--test/src/math/test_subgroups.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/src/math/test_subgroups.c b/test/src/math/test_subgroups.c
new file mode 100644
index 0000000..ad42282
--- /dev/null
+++ b/test/src/math/test_subgroups.c
@@ -0,0 +1,28 @@
+/*
+ * ecgen, tool for generating Elliptic curve domain parameters
+ * Copyright (C) 2017 J08nY
+ */
+#include "gen/types.h"
+#include "math/subgroups.h"
+#include <criterion/criterion.h>
+#include "test/utils.h"
+
+TestSuite(subgroups, .init=default_setup, .fini=default_teardown);
+
+Test(subgroups, test_prime_factors) {
+ curve_t curve = {.order = stoi(12)};
+ config_t cfg = {.prime = false};
+ GEN divs = subgroups_prime(&curve, &cfg);
+ GEN vec = gtocol0(gen_0, 2);
+ gel(vec, 1) = stoi(2);
+ gel(vec, 2) = stoi(3);
+ cr_assert(gequal(divs, vec), "Factors not equal!");
+}
+
+Test(subgroups, test_prime_prime) {
+ curve_t curve = {.order = stoi(5)};
+ config_t cfg = {.prime = true};
+ GEN divs = subgroups_prime(&curve, &cfg);
+ GEN vec = gtocol(stoi(5));
+ cr_assert(gequal(divs, vec), "Factors not equal!");
+} \ No newline at end of file