added Kerl tests

This commit is contained in:
pinpong 2017-11-13 13:47:58 +01:00
parent fbacc5ae44
commit bac4c728c4

View File

@ -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");
}
}