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.Collections; import java.util.Comparator; import java.util.List; import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.common.xcontent.XContentParser; import org.junit.Test; public class TermVectorTest { @Test public void testParse() throws Exception { String json = readFromClasspath("json/termvector/termvector.json"); XContentParser parser = XContentHelper.createParser(json.getBytes(), 0, json.length()); parser.nextToken(); TermVector termVector = new TermVector().parse(parser); List<Term> terms = termVector.getTerms(); Collections.sort(terms, new Comparator<Term>() { @Override public int compare(Term o1, Term o2) { return o1.getTerm().compareTo(o2.getTerm()); } }); assertThat(terms).hasSize(2); Term term = terms.get(0); TermVectorTermTest.assertTestTerm(term); Term term2 = terms.get(1); TermVectorTermTest.assertTwitterTerm(term2); assertTermVector(termVector); } public static void assertTermVector(TermVector termVector) { assertThat(termVector.getField()).isEqualTo("text"); assertFieldStatistics(termVector); assertThat(termVector.getTerms()).hasSize(2); TermVectorTermTest.assertTestTerm(termVector.getTerms().get(0)); TermVectorTermTest.assertTwitterTerm(termVector.getTerms().get(1)); } public static void assertFieldStatistics(TermVector termVector) { assertThat(termVector.getFieldStatistics().getDocCount()).isEqualTo(2); assertThat(termVector.getFieldStatistics().getSumDocFreq()).isEqualTo(6); assertThat(termVector.getFieldStatistics().getSumTtf()).isEqualTo(8); } }