package com.googlecode.totallylazy; import org.junit.Ignore; import org.junit.Test; import static com.googlecode.totallylazy.Characters.ASCII; import static com.googlecode.totallylazy.Characters.UTF16; import static com.googlecode.totallylazy.Characters.UTF8; import static com.googlecode.totallylazy.Characters.characters; import static com.googlecode.totallylazy.Characters.in; import static com.googlecode.totallylazy.Characters.range; import static com.googlecode.totallylazy.Characters.set; import static com.googlecode.totallylazy.Files.file; import static com.googlecode.totallylazy.Files.workingDirectory; import static com.googlecode.totallylazy.matchers.Matchers.is; import static java.lang.Character.MAX_VALUE; import static java.lang.Character.MIN_VALUE; import static org.hamcrest.MatcherAssert.assertThat; public class CharactersTest { @Test public void canDetectedIfACharsetContainsACharacter() throws Exception { assertThat(characters("λΣ").forAll(in(UTF8)), is(true)); assertThat(characters("λΣ").forAll(in(ASCII)), is(false)); } @Test public void canCreateARangeOfCharacters() throws Exception { Sequence<Character> range = range(MIN_VALUE, MAX_VALUE); assertThat(range.size(), is(65536)); assertThat(range.contains('λ'), is(true)); } @Test public void canConvertACharsetIntoARealSet() throws Exception { assertThat(set(UTF8).contains('λ'), is(true)); } @Test @Ignore public void canDetectValidJavaIdentifier() throws Exception { String chars = characters(UTF16).filter(Characters.identifierStart).toString(" "); Files.write(chars.getBytes(UTF16), file(workingDirectory(), "javaidentifiers.txt")); } }