package org.logical_paradox.common.security;

import junit.framework.TestCase;

/**
 * MD5ユーティリティのテストケース
 */
public class MD5Test extends TestCase {
	public MD5Test(String name) {
		super(name);
	}
	/**
	 * 同一性チェック
	 *
	 */
	public void testSameness() {
		Digester digester = Digester.getInstance(Digester.MD5);
		String digest = digester.getDigest("あいうえおかきくけこ");

		for(int i = 0; i < 19; i++) {
			assertEquals(digest, digester.getDigest("あいうえおかきくけこ"));
		}
	}
	/**
	 * メッセージダイジェストのユニークチェック
	 *
	 */
	public void testUniqueness() {
		Digester digester = Digester.getInstance(Digester.MD5);
		String digest = digester.getDigest("あいうえおかきくけこ");

		assertTrue(digest != digester.getDigest("ごごごご"));
		assertTrue(digest != digester.getDigest("ああああ"));
		assertTrue(digest != digester.getDigest("あいうえおかきくけ"));
		assertTrue(digest != digester.getDigest("ぬふあふぬあぬ"));
		assertTrue(digest != digester.getDigest("1122131231"));
	}
}
