/*
* Copyright 2005-2011 by BerryWorks Software, LLC. All rights reserved.
*/
package com.berryworks.edireader.tokenizer;
import org.junit.Before;
import org.junit.Test;
import java.io.StringReader;
import static org.junit.Assert.*;
public class TestTokenImpl {
Token token;
@Before
public void setUp() {
token = new TokenImpl(new EDITokenizer(new StringReader("")));
}
@Test
public void testAppend() {
assertEquals(0, token.getIndex());
token.append('a');
assertEquals(0, token.getIndex());
assertEquals('a', token.getValueChars()[0]);
assertEquals(1, token.getValueLength());
assertEquals("a", token.getValue());
token.append('b');
assertEquals(0, token.getIndex());
assertEquals('a', token.getValueChars()[0]);
assertEquals('b', token.getValueChars()[1]);
assertEquals(2, token.getValueLength());
assertEquals("ab", token.getValue());
}
@Test
public void testReset() {
token.append('a');
token.append('b');
assertEquals(2, token.getValueLength());
assertEquals("ab", token.getValue());
token.resetValue();
assertEquals("", token.getValue());
assertEquals(0, token.getValueLength());
}
@Test
public void testLargerValue() {
token.append('a');
token.append('b');
token.append('c');
token.append('d');
token.append('e');
token.append('f');
token.append('g');
token.append('h');
token.append('i');
token.append('j');
token.append('k');
token.append('l');
assertEquals("abcdefghijkl", token.getValue());
assertEquals(12, token.getValueLength());
}
@Test
public void testContainsNonSpace() {
assertFalse(token.containsNonSpace());
token.append(' ');
assertFalse(token.containsNonSpace());
token.append(' ');
assertFalse(token.containsNonSpace());
token.append('x');
assertTrue(token.containsNonSpace());
token.resetValue();
assertFalse(token.containsNonSpace());
token.append('1');
assertTrue(token.containsNonSpace());
}
}