Project

General

Profile

1
package eu.dnetlib.data.search.utils.cql;
2

    
3
import org.junit.Assert;
4
import org.junit.Test;
5

    
6
/**
7
 * Created by kiatrop on 30/11/2016.
8
 */
9
public class QueryEnhancerTest {
10
    String indexfieldName = "indexfieldName";
11
    String fieldvalue = "fieldvalue";
12

    
13
    @Test
14
    public void testExact(){
15
        StringBuilder queryBuilder1 = new StringBuilder();
16
        StringBuilder queryBuilder = new StringBuilder();
17

    
18
        ParameterQueryEnhancer.addExactQueryTerm(indexfieldName, fieldvalue, queryBuilder1);
19
        CQLQueryBuilder.appendFieldQuotedTerm(queryBuilder, CQLQueryBuilder.Operator.AND, indexfieldName, CQLQueryBuilder.Operator.EXACT, fieldvalue);
20

    
21
        Assert.assertEquals(queryBuilder1.toString(), queryBuilder.toString());
22
    }
23

    
24
    @Test
25
    public void testEqual(){
26
        StringBuilder queryBuilder1 = new StringBuilder();
27
        StringBuilder queryBuilder2 = new StringBuilder();
28

    
29
        ParameterQueryEnhancer.addEqualQueryTerm(indexfieldName, fieldvalue, queryBuilder1);
30
        CQLQueryBuilder.appendFieldQuotedTerm(queryBuilder2, CQLQueryBuilder.Operator.AND, indexfieldName, CQLQueryBuilder.Operator.EQUAL, fieldvalue);
31

    
32
        Assert.assertEquals(queryBuilder1.toString(), queryBuilder2.toString());
33
    }
34

    
35
    @Test
36
    public void testNotEqual(){
37
        StringBuilder queryBuilder1 = new StringBuilder();
38
        StringBuilder queryBuilder2 = new StringBuilder();
39

    
40
        ParameterQueryEnhancer.addNotEqualQueryTerm(indexfieldName, fieldvalue, queryBuilder1);
41
        CQLQueryBuilder.appendFieldQuotedTerm(queryBuilder2, CQLQueryBuilder.Operator.NOT, indexfieldName, CQLQueryBuilder.Operator.EQUAL, fieldvalue);
42

    
43
        Assert.assertEquals(queryBuilder1.toString(), queryBuilder2.toString());
44
    }
45

    
46
    @Test
47
    public void testDifferentEqual(){
48
        StringBuilder queryBuilder1 = new StringBuilder();
49
        StringBuilder queryBuilder2 = new StringBuilder();
50

    
51
        ParameterQueryEnhancer.addDifferentQueryTerm(indexfieldName, fieldvalue, queryBuilder1);
52
        CQLQueryBuilder.appendFieldQuotedTerm(queryBuilder2, CQLQueryBuilder.Operator.AND, indexfieldName, CQLQueryBuilder.Operator.NOTEQUAL, fieldvalue);
53

    
54
        Assert.assertEquals(queryBuilder1.toString(), queryBuilder2.toString());
55
    }
56

    
57
    @Test
58
    public void testKeywords() {
59
        StringBuilder queryBuilder1 = new StringBuilder();
60
        StringBuilder queryBuilder2 = new StringBuilder();
61

    
62
        CQLQueryBuilder.appendKeywords(queryBuilder1, "keywords");
63
        CQLQueryBuilder.appendSimpleTerm(queryBuilder2, CQLQueryBuilder.Operator.AND, "keywords");
64

    
65
        Assert.assertEquals(queryBuilder1.toString(), queryBuilder2.toString());
66
    }
67
}
    (1-1/1)