package com.github.obourgain.elasticsearch.http.response.entity; import static com.github.obourgain.elasticsearch.http.TestFilesUtils.readFromClasspath; import static org.assertj.core.api.Assertions.assertThat; import java.util.List; import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.common.xcontent.XContentParser; import org.junit.Test; public class TokenTest { @Test public void should_parse_token() throws Exception { String json = readFromClasspath("json/termvector/token.json"); XContentParser parser = XContentHelper.createParser(json.getBytes(), 0, json.length()); parser.nextToken(); Token token = new Token().parse(parser); assertToken(token); } @Test public void testParseList() throws Exception { String json = readFromClasspath("json/termvector/token2.json"); XContentParser parser = XContentHelper.createParser(json.getBytes(), 0, json.length()); parser.nextToken(); List<Token> tokens = Token.parseList(parser); assertThat(tokens).hasSize(3); Token token = tokens.get(0); assertToken(token); } public static void assertToken(Token token) { assertThat(token.getStartOffset()).isEqualTo(8); assertThat(token.getEndOffset()).isEqualTo(12); assertThat(token.getPosition()).isEqualTo(1); assertThat(token.getPayload()).isEqualTo("d29yZA=="); } // dependant of the json, see term.json public static void assertTestToken(List<Token> tokens) { assertThat(tokens).hasSize(3); Token token1 = tokens.get(0); assertThat(token1.getEndOffset()).isEqualTo(12); assertThat(token1.getPosition()).isEqualTo(1); assertThat(token1.getStartOffset()).isEqualTo(8); assertThat(token1.getPayload()).isEqualTo("d29yZA=="); Token token2 = tokens.get(1); assertThat(token2.getEndOffset()).isEqualTo(17); assertThat(token2.getPosition()).isEqualTo(2); assertThat(token2.getStartOffset()).isEqualTo(13); assertThat(token2.getPayload()).isEqualTo("d29yZA=="); Token token3 = tokens.get(2); assertThat(token3.getEndOffset()).isEqualTo(22); assertThat(token3.getPosition()).isEqualTo(3); assertThat(token3.getStartOffset()).isEqualTo(18); assertThat(token3.getPayload()).isEqualTo("d29yZA=="); } public static void assertTwitterToken(List<Token> tokens) { assertThat(tokens).hasSize(1); Token token = tokens.get(0); assertThat(token.getEndOffset()).isEqualTo(7); assertThat(token.getPosition()).isEqualTo(0); assertThat(token.getStartOffset()).isEqualTo(0); assertThat(token.getPayload()).isEqualTo("d29yZA=="); } }