@@ -0,0 +1,1904 @@
+package com.m4gik;%0A%0Aimport static org.hamcrest.MatcherAssert.assertThat;%0Aimport static org.hamcrest.Matchers.equalTo;%0Aimport static org.hamcrest.Matchers.is;%0Aimport static org.hamcrest.Matchers.notNullValue;%0A%0Aimport java.util.Arrays;%0Aimport java.util.Collection;%0A%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0Aimport org.junit.runners.Parameterized;%0A%0A/**%0A * %0A * This class contains JUnit tests for class %7B@link Haval%7D.%0A * %0A * @author Micha%C5%82 Szczygie%C5%82 %3Cmichal.szczygiel@wp.pl%3E%0A * %0A */%0A@RunWith(Parameterized.class)%0Apublic class HavalTest %7B%0A%0A    @Parameterized.Parameters%0A    public static Collection%3CObject%5B%5D%3E data() %7B%0A        return Arrays.asList(new Object%5B%5D%5B%5D %7B%0A                %7B %22The quick brown fox jumps over the lazy dog%22,%0A                        %22713502673d67e5fa557629a71d331945%22,%0A                        HavalAttributes.HAVAL_128_BIT,%0A                        HavalAttributes.HAVAL_3_ROUND %7D,%0A                %7B %22The quick brown fox jumps over the lazy dog%22,%0A                        %226eece560a2e8d6b919e81fe91b0e7156%22,%0A                        HavalAttributes.HAVAL_128_BIT,%0A                        HavalAttributes.HAVAL_4_ROUND %7D %7D);%0A    %7D%0A%0A    private final String actualHash;%0A%0A    private final String expectedHash;%0A%0A    public HavalTest(String input, String expectedHash, Integer size,%0A            Integer rounds) %7B%0A        this.actualHash = new Haval(input, size, rounds).digest().toString();%0A        this.expectedHash = expectedHash;%0A    %7D%0A%0A    @Test%0A    public void testHashIsNotNull() %7B%0A        assertThat(actualHash, is(notNullValue()));%0A    %7D%0A%0A    @Test%0A    public void testHashIsValid() %7B%0A        assertThat(actualHash, is(equalTo(expectedHash)));%0A    %7D%0A%0A    @Test(%0A            expected = IllegalArgumentException.class)%0A    public void testThrowsIfInputIsNull() %7B%0A        new Haval(null, HavalAttributes.HAVAL_128_BIT,%0A                HavalAttributes.HAVAL_5_ROUND);%0A    %7D%0A%0A%7D%0A

Create class for TDD of haval algorithm