From bac4c728c4d78fc1a6c2907d622c7c064a027f33 Mon Sep 17 00:00:00 2001 From: pinpong Date: Mon, 13 Nov 2017 13:47:58 +0100 Subject: [PATCH] added Kerl tests --- jota/src/test/java/jota/KerlTest.java | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 jota/src/test/java/jota/KerlTest.java diff --git a/jota/src/test/java/jota/KerlTest.java b/jota/src/test/java/jota/KerlTest.java new file mode 100644 index 0000000..1c12189 --- /dev/null +++ b/jota/src/test/java/jota/KerlTest.java @@ -0,0 +1,47 @@ +package jota; + +import jota.pow.Kerl; +import jota.pow.SpongeFactory; +import jota.utils.Converter; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class KerlTest { + + @Test + public void shouldCreateValidHash1() { + int[] trits = Converter.trits("GYOMKVTSNHVJNCNFBBAH9AAMXLPLLLROQY99QN9DLSJUHDPBLCFFAIQXZA9BKMBJCYSFHFPXAHDWZFEIZ"); + Kerl kerl = (Kerl) SpongeFactory.create(SpongeFactory.Mode.KERL); + kerl.reset(); + kerl.absorb(trits, 0, trits.length); + final int[] hashTrits = new int[trits.length]; + kerl.squeeze(hashTrits, 0, 243); + String hash = Converter.trytes(hashTrits); + assertEquals(hash, "OXJCNFHUNAHWDLKKPELTBFUCVW9KLXKOGWERKTJXQMXTKFKNWNNXYD9DMJJABSEIONOSJTTEVKVDQEWTW"); + } + + @Test + public void shouldCreateValidHash2() { + int[] trits = Converter.trits("9MIDYNHBWMBCXVDEFOFWINXTERALUKYYPPHKP9JJFGJEIUY9MUDVNFZHMMWZUYUSWAIOWEVTHNWMHANBH"); + Kerl kerl = (Kerl) SpongeFactory.create(SpongeFactory.Mode.KERL); + kerl.reset(); + kerl.absorb(trits, 0, trits.length); + final int[] hashTrits = new int[trits.length * 2]; + kerl.squeeze(hashTrits, 0, 243 * 2); + String hash = Converter.trytes(hashTrits); + assertEquals(hash, "G9JYBOMPUXHYHKSNRNMMSSZCSHOFYOYNZRSZMAAYWDYEIMVVOGKPJBVBM9TDPULSFUNMTVXRKFIDOHUXXVYDLFSZYZTWQYTE9SPYYWYTXJYQ9IFGYOLZXWZBKWZN9QOOTBQMWMUBLEWUEEASRHRTNIQWJQNDWRYLCA"); + } + + @Test + public void shouldCreateValidHash3() { + int[] trits = Converter.trits("G9JYBOMPUXHYHKSNRNMMSSZCSHOFYOYNZRSZMAAYWDYEIMVVOGKPJBVBM9TDPULSFUNMTVXRKFIDOHUXXVYDLFSZYZTWQYTE9SPYYWYTXJYQ9IFGYOLZXWZBKWZN9QOOTBQMWMUBLEWUEEASRHRTNIQWJQNDWRYLCA"); + Kerl kerl = (Kerl) SpongeFactory.create(SpongeFactory.Mode.KERL); + kerl.reset(); + kerl.absorb(trits, 0, trits.length); + final int[] hashTrits = new int[trits.length]; + kerl.squeeze(hashTrits, 0, 243 * 2); + String hash = Converter.trytes(hashTrits); + assertEquals(hash, "LUCKQVACOGBFYSPPVSSOXJEKNSQQRQKPZC9NXFSMQNRQCGGUL9OHVVKBDSKEQEBKXRNUJSRXYVHJTXBPDWQGNSCDCBAIRHAQCOWZEBSNHIJIGPZQITIBJQ9LNTDIBTCQ9EUWKHFLGFUVGGUWJONK9GBCDUIMAYMMQX"); + } +} \ No newline at end of file