java/nekurak.net-lib/test/cz/frantovo/nekurak/util/HashTest.java
changeset 123 9135d52e8b0a
child 124 e720890878ac
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/java/nekurak.net-lib/test/cz/frantovo/nekurak/util/HashTest.java	Tue May 25 13:54:21 2010 +0200
     1.3 @@ -0,0 +1,58 @@
     1.4 +package cz.frantovo.nekurak.util;
     1.5 +
     1.6 +import org.junit.Test;
     1.7 +import static org.junit.Assert.*;
     1.8 +
     1.9 +/**
    1.10 + * Kromě Hashe otestujeme i to, zda správně fungují i názvy metod napsané česky :-)
    1.11 + *
    1.12 + * <blockquote>
    1.13 + * „Letters and digits may be drawn from the entire Unicode character set,
    1.14 + * which supports most writing scripts in use in the world today,
    1.15 + * including the large sets for Chinese, Japanese, and Korean.
    1.16 + * This allows programmers to use identifiers in their programs that are written in their native languages.“
    1.17 + * </blockquote>
    1.18 + *
    1.19 + * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625">Java Language Specification – 3.8 Identifiers</a>
    1.20 + * @author fiki
    1.21 + */
    1.22 +public class HashTest {
    1.23 +
    1.24 +    String 外滩 = "Bund";
    1.25 +    String 南京东路 = "Nanjing Road East";
    1.26 +
    1.27 +    @Test
    1.28 +    public void prázdnýŘetězec() throws Exception {
    1.29 +	testuj("", "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e");
    1.30 +    }
    1.31 +
    1.32 +    @Test
    1.33 +    public void prázdnýŘádek() throws Exception {
    1.34 +	testuj("\n", "be688838ca8686e5c90689bf2ab585cef1137c999b48c70b92f67a5c34dc15697b5d11c982ed6d71be1e1e7f7b4e0733884aa97c3f7a339a8ed03577cf74be09");
    1.35 +    }
    1.36 +
    1.37 +    @Test
    1.38 +    public void nullHodnota() throws Exception {
    1.39 +	try {
    1.40 +	    testuj(null, "Měla být vyhozena NullPointerException.");
    1.41 +	    fail();
    1.42 +	} catch (NullPointerException npe) {
    1.43 +	    // K chybě má dojít
    1.44 +	}
    1.45 +    }
    1.46 +
    1.47 +    @Test
    1.48 +    public void něco() throws Exception {
    1.49 +	testuj("Ahoj, jak to jde? :-)", "87e6e3c6487dc5ffee93d05cdc71a196f21181e357e61e1820d652ed9b601e179db92c1aaafc9cf57384498c1a52b89c82714dabdfd30b9eb8c7fd8d3fe53685");
    1.50 +    }
    1.51 +
    1.52 +    @Test
    1.53 +    public void čeština() throws Exception {
    1.54 +	testuj("čeština a další unicode – → | @{#@$%${*&…˙×ׄ东方明珠塔“‚&‘‚“‚", "f9750a7f3fa04356510285af61bbdd40b108e04c2abad69130c5929561fa2765e263707147f779ac5f4be348005ce0fc810334822ba0a50f1d5c41719413277e");
    1.55 +    }
    1.56 +
    1.57 +    private void testuj(String vstup, String pozadovanyVystup) throws Exception {
    1.58 +	String vystup = Hash.hashuj(vstup);
    1.59 +	assertEquals(pozadovanyVystup, vystup);
    1.60 +    }
    1.61 +}