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 TermVectorTermTest { @Test public void should_parse_term() throws Exception { String json = readFromClasspath("json/termvector/term.json"); XContentParser parser = XContentHelper.createParser(json.getBytes(), 0, json.length()); parser.nextToken(); List<Term> terms = Term.parseTerms(parser); assertThat(terms).hasSize(1); Term term = terms.get(0); assertTestTerm(term); TokenTest.assertTestToken(term.getTokens()); } @Test public void should_parse_several_terms() throws Exception { String json = readFromClasspath("json/termvector/term2.json"); XContentParser parser = XContentHelper.createParser(json.getBytes(), 0, json.length()); parser.nextToken(); List<Term> terms = Term.parseTerms(parser); assertThat(terms).hasSize(2); Term term = terms.get(0); assertTestTerm(term); Term term2 = terms.get(1); assertTwitterTerm(term2); } public static void assertTestTerm(Term term) { assertThat(term.getTerm()).isEqualTo("test"); assertThat(term.getDocFreq()).isEqualTo(2); assertThat(term.getTermFreq()).isEqualTo(3); assertThat(term.getTotalTermFreq()).isEqualTo(4); assertThat(term.getTokens()).hasSize(3); TokenTest.assertTestToken(term.getTokens()); } public static void assertTwitterTerm(Term term) { assertThat(term.getTerm()).isEqualTo("twitter"); assertThat(term.getDocFreq()).isEqualTo(2); assertThat(term.getTermFreq()).isEqualTo(1); assertThat(term.getTotalTermFreq()).isEqualTo(2); assertThat(term.getTokens()).hasSize(1); TokenTest.assertTwitterToken(term.getTokens()); } }