diff options
Diffstat (limited to 'core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java')
-rw-r--r-- | core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java b/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java new file mode 100644 index 00000000..96fa3d4c --- /dev/null +++ b/core/src/test/java/org/spongycastle/pqc/crypto/test/NTRUSignatureParametersTest.java @@ -0,0 +1,64 @@ +package org.spongycastle.pqc.crypto.test; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +import junit.framework.TestCase; +import org.spongycastle.pqc.crypto.ntru.NTRUSigningKeyGenerationParameters; + +public class NTRUSignatureParametersTest + extends TestCase +{ + public void testLoadSave() + throws IOException + { + for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD, NTRUSigningKeyGenerationParameters.APR2011_743, NTRUSigningKeyGenerationParameters.APR2011_743_PROD}) + { + testLoadSave(params); + } + } + + private void testLoadSave(NTRUSigningKeyGenerationParameters params) + throws IOException + { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + params.writeTo(os); + ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); + assertEquals(params, new NTRUSigningKeyGenerationParameters(is)); + } + + public void testEqualsHashCode() + throws IOException + { + for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD, NTRUSigningKeyGenerationParameters.APR2011_743, NTRUSigningKeyGenerationParameters.APR2011_743_PROD}) + { + testEqualsHashCode(params); + } + } + + private void testEqualsHashCode(NTRUSigningKeyGenerationParameters params) + throws IOException + { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + params.writeTo(os); + ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); + NTRUSigningKeyGenerationParameters params2 = new NTRUSigningKeyGenerationParameters(is); + + assertEquals(params, params2); + assertEquals(params.hashCode(), params2.hashCode()); + + params.N += 1; + assertFalse(params.equals(params2)); + assertFalse(params.equals(params2)); + assertFalse(params.hashCode() == params2.hashCode()); + } + + public void testClone() + { + for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD, NTRUSigningKeyGenerationParameters.APR2011_743, NTRUSigningKeyGenerationParameters.APR2011_743_PROD}) + { + assertEquals(params, params.clone()); + } + } +}
\ No newline at end of file |