john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

CalculateSha1Test Parameterized Stream From String

// 2012-12-27 johnpfeiffer
package net.kittyandbear;

import static org.junit.Assert.assertEquals;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Collection;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith( value = Parameterized.class )
public class CalculateSha1Test {

    private String fileName;
    private String fileContents;
    private String fileSha1;

    public CalculateSha1Test( String fileName, String fileContents, String fileSha1 ) {
        this.fileName = fileName;
        this.fileContents = fileContents;
        this.fileSha1 = fileSha1;
    }

    @Parameters
    public static Collection<Object[]> data() {
        Object[][] data = new Object[][] {
                { "abc.txt", "abc", "a9993e364706816aba3e25717850c26c9cd0d89d" },
                { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq.txt","abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", "84983E441C3BD26EBAAE4AA1F95129E5E54670F1" },
        };

        return Arrays.asList( data );
    }

    @Rule
    public TemporaryFolder folder = new TemporaryFolder();

    @Test
    public void testFile() throws IOException {
        System.out.println( "DEBUG: File " + fileContents );
        File testFile = folder.newFile( fileName );
        FileWriter outFile = new FileWriter( testFile );
        PrintWriter out = new PrintWriter( outFile );
        out.print( fileContents );
        out.close();

        CalculateSha1 test = new CalculateSha1( testFile.getAbsolutePath() );
        assertEquals( fileSha1.toLowerCase(), test.getSha1() );
    }

    @Test
    public void testInputStream() throws IOException {
        System.out.println( "DEBUG: Stream " + fileContents );
        InputStream testStream = new ByteArrayInputStream( fileContents.getBytes( "UTF-8" ) );
        CalculateSha1 test = new CalculateSha1( testStream );
        assertEquals( fileSha1.toLowerCase(), test.getSha1() );
    }

    @Test
    public void testByteArray() throws Exception {
        System.out.println( "DEBUG: Byte " + fileContents );
        assertEquals( fileSha1.toLowerCase(), CalculateSha1.computeSHA1Hash( fileContents.getBytes() ) );
    }



} // end class

  • « unittest romantest assertRaises
  • CalculateSha1 »

Published

Dec 27, 2012

Category

java-classes

~162 words

Tags

  • classes 92
  • java 252
  • parameterized 1
  • sha1 6
  • stream 3
  • string 18
  • unittest 12