franta-hg@123: package cz.frantovo.nekurak.util; franta-hg@123: franta-hg@123: import org.junit.Test; franta-hg@123: import static org.junit.Assert.*; franta-hg@123: franta-hg@123: /** franta-hg@123: * Kromě Hashe otestujeme i to, zda správně fungují i názvy metod napsané česky :-) franta-hg@123: * franta-hg@123: *
franta-hg@123: * „Letters and digits may be drawn from the entire Unicode character set, franta-hg@123: * which supports most writing scripts in use in the world today, franta-hg@123: * including the large sets for Chinese, Japanese, and Korean. franta-hg@123: * This allows programmers to use identifiers in their programs that are written in their native languages.“ franta-hg@123: *franta-hg@123: * franta-hg@123: * @see Java Language Specification – 3.8 Identifiers franta-hg@123: * @author fiki franta-hg@123: */ franta-hg@123: public class HashTest { franta-hg@123: franta-hg@123: String 外滩 = "Bund"; franta-hg@123: String 南京东路 = "Nanjing Road East"; franta-hg@123: franta-hg@123: @Test franta-hg@123: public void prázdnýŘetězec() throws Exception { franta-hg@123: testuj("", "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"); franta-hg@123: } franta-hg@123: franta-hg@123: @Test franta-hg@123: public void prázdnýŘádek() throws Exception { franta-hg@123: testuj("\n", "be688838ca8686e5c90689bf2ab585cef1137c999b48c70b92f67a5c34dc15697b5d11c982ed6d71be1e1e7f7b4e0733884aa97c3f7a339a8ed03577cf74be09"); franta-hg@123: } franta-hg@123: franta-hg@123: @Test franta-hg@123: public void nullHodnota() throws Exception { franta-hg@123: try { franta-hg@123: testuj(null, "Měla být vyhozena NullPointerException."); franta-hg@123: fail(); franta-hg@123: } catch (NullPointerException npe) { franta-hg@123: // K chybě má dojít franta-hg@123: } franta-hg@123: } franta-hg@123: franta-hg@123: @Test franta-hg@123: public void něco() throws Exception { franta-hg@123: testuj("Ahoj, jak to jde? :-)", "87e6e3c6487dc5ffee93d05cdc71a196f21181e357e61e1820d652ed9b601e179db92c1aaafc9cf57384498c1a52b89c82714dabdfd30b9eb8c7fd8d3fe53685"); franta-hg@123: } franta-hg@123: franta-hg@123: @Test franta-hg@123: public void čeština() throws Exception { franta-hg@123: testuj("čeština a další unicode – → | @{#@$%${*&…˙×ׄ东方明珠塔“‚&‘‚“‚", "f9750a7f3fa04356510285af61bbdd40b108e04c2abad69130c5929561fa2765e263707147f779ac5f4be348005ce0fc810334822ba0a50f1d5c41719413277e"); franta-hg@123: } franta-hg@123: franta-hg@123: private void testuj(String vstup, String pozadovanyVystup) throws Exception { franta-hg@123: String vystup = Hash.hashuj(vstup); franta-hg@123: assertEquals(pozadovanyVystup, vystup); franta-hg@123: } franta-hg@123: }