view src/test/java/christie/blockchain/HashUtilTest.java @ 118:daf37151dd97

refactor constract StartTopologyManage and StartTopologyNode
author akahori
date Fri, 07 Dec 2018 23:29:18 +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));
            }
        }
    }

}