Files
Widerhall/src/test/java/de/srsoftware/widerhall/UtilTest.java

64 lines
2.2 KiB
Java

package de.srsoftware.widerhall;
import junit.framework.TestCase;
import java.util.Map;
import java.util.TreeMap;
public class UtilTest extends TestCase {
public void testUrlEncode() {
TreeMap<String,Object> map = new TreeMap<>();
map.put("a",1);
map.put("b",2);
map.put("c","&");
map.put("d","=");
assertEquals("a=1&b=2&c=%26&d=%3D",Util.urlEncode(map));
}
public void testHex(){
assertEquals("00",Util.hex(0));
assertEquals("09",Util.hex(9));
assertEquals("0A",Util.hex(10));
assertEquals("0F",Util.hex(15));
assertEquals("10",Util.hex(16));
assertEquals("19",Util.hex(25));
assertEquals("FF",Util.hex(255));
}
public void testSha256() {
assertEquals("9F722959A023C02A3BA0FAFDBA81ADED642D6610EFF5DCA32DCE35132E16B6C5",Util.sha256("Dies ist ein Test"));
}
public void testTranslate() {
assertEquals("Dies ist ein Test",Util.t("{} {} {} {}","Dies","ist","ein","Test"));
}
public void testIsEmail() {
assertFalse(Util.isEmail("Test"));
assertFalse(Util.isEmail("Test@"));
assertFalse(Util.isEmail("@Test"));
assertTrue(Util.isEmail("Test@Domain"));
assertFalse(Util.isEmail("Test@Domain@Test"));
}
public void testSimplePassword() {
assertTrue(Util.simplePassword("$@%€#")); // too short
assertTrue(Util.simplePassword("test123")); // no special chars
assertFalse(Util.simplePassword("test$23")); // contains special chars
assertTrue(Util.simplePassword("skgjafdsg")); // chars only
assertTrue(Util.simplePassword("986535465")); // digits only
assertFalse(Util.simplePassword("test9523")); // mixed digits and chars
assertFalse(Util.simplePassword("8986546054")); // digits only, but long enough
assertFalse(Util.simplePassword("salgksdjbw")); // chars only, but long enough
}
public void testUnsetFlags(){
assertEquals(0,Util.unset(31,1,2,4,8,16));
assertEquals(1,Util.unset(31,2,4,8,16));
assertEquals(2,Util.unset(31,1,4,8,16));
assertEquals(4,Util.unset(31,1,2,8,16));
assertEquals(8,Util.unset(31,1,2,4,16));
assertEquals(16,Util.unset(31,1,2,4,8));
}
}