summaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/standalone/test/SignatureTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cz/crcs/ectester/standalone/test/SignatureTest.java')
-rw-r--r--src/cz/crcs/ectester/standalone/test/SignatureTest.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/standalone/test/SignatureTest.java b/src/cz/crcs/ectester/standalone/test/SignatureTest.java
new file mode 100644
index 0000000..9746b91
--- /dev/null
+++ b/src/cz/crcs/ectester/standalone/test/SignatureTest.java
@@ -0,0 +1,42 @@
+package cz.crcs.ectester.standalone.test;
+
+import cz.crcs.ectester.common.test.Result;
+import cz.crcs.ectester.common.test.SimpleTest;
+import cz.crcs.ectester.common.test.TestCallback;
+import cz.crcs.ectester.common.test.TestException;
+
+/**
+ * @author Jan Jancar johny@neuromancer.sk
+ */
+public class SignatureTest extends SimpleTest<SignatureTestable> {
+ private SignatureTest(SignatureTestable sig, TestCallback<SignatureTestable> callback) {
+ super(sig, callback);
+ }
+
+ public static SignatureTest expect(SignatureTestable kg, Result.ExpectedValue expected) {
+ return new SignatureTest(kg, new TestCallback<SignatureTestable>() {
+ @Override
+ public Result apply(SignatureTestable signatureTestable) {
+ return new Result(Result.Value.fromExpected(expected, signatureTestable.ok(), signatureTestable.error()));
+ }
+ });
+ }
+
+ public static SignatureTest function(SignatureTestable ka, TestCallback<SignatureTestable> callback) {
+ return new SignatureTest(ka, callback);
+ }
+
+ @Override
+ public String getDescription() {
+ return "Signature " + testable.getSig().getAlgorithm();
+ }
+
+ @Override
+ public void run() throws TestException {
+ if (hasRun)
+ return;
+ testable.run();
+ result = callback.apply(testable);
+ hasRun = true;
+ }
+}