view src/test/java/christie/blockchain/HashUtilTest.java @ 243:9d0b932ad84f

tweak
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Thu, 23 Jan 2020 02:10:00 +0900
parents 691017a550d0
children
line wrap: on
line source

package christie.blockchain;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;
import java.util.Arrays;

class HashUtilTest {

    @Test
    void sha256() {
        HashUtil hashUtil1 = new HashUtil();
        HashUtil hashUtil2 = new HashUtil();
        String[] testStringArray = new String[]{"a", "b"};

        // オブジェクトは同じじゃない
        assertNotSame(hashUtil1, hashUtil2);

        // 総当たりで, hash値が同じか調べる.
        for(String str1: testStringArray){
            byte[] hash1 = hashUtil1.sha256(str1.getBytes());
            for(String str2: testStringArray){
                byte[] hash2 = hashUtil2.sha256(str2.getBytes());

                if(str1.equals(str2))
                    assertEquals(Arrays.toString(hash1), Arrays.toString(hash2));
                else
                    assertNotEquals(Arrays.toString(hash1), Arrays.toString(hash2));
            }
        }

    }

    @Test
    void sha3() {
        HashUtil hashUtil1 = new HashUtil();
        HashUtil hashUtil2 = new HashUtil();
        String[] testStringArray = new String[]{"a", "b"};

        // オブジェクトは同じじゃない
        assertNotSame(hashUtil1, hashUtil2);

        // 総当たりで, hash値が同じか調べる.
        for(String str1: testStringArray){
            byte[] hash1 = hashUtil1.sha3(str1.getBytes());
            for(String str2: testStringArray){
                byte[] hash2 = hashUtil2.sha3(str2.getBytes());

                if(str1.equals(str2))
                    assertEquals(Arrays.toString(hash1), Arrays.toString(hash2));
                else
                    assertNotEquals(Arrays.toString(hash1), Arrays.toString(hash2));
            }
        }
    }

    @Test
    void ripemd160() {
        HashUtil hashUtil1 = new HashUtil();
        HashUtil hashUtil2 = new HashUtil();
        String[] testStringArray = new String[]{"a", "b"};

        // オブジェクトは同じじゃない
        assertNotSame(hashUtil1, hashUtil2);

        // 総当たりで, hash値が同じか調べる.
        for(String str1: testStringArray){
            byte[] hash1 = hashUtil1.ripemd160(str1.getBytes());
            for(String str2: testStringArray){
                byte[] hash2 = hashUtil2.ripemd160(str2.getBytes());

                if(str1.equals(str2))
                    assertEquals(Arrays.toString(hash1), Arrays.toString(hash2));
                else
                    assertNotEquals(Arrays.toString(hash1), Arrays.toString(hash2));
            }
        }
    }

}