/* * Licensed to STRATIO (C) under one or more contributor license agreements. * See the NOTICE file distributed with this work for additional information * regarding copyright ownership. The STRATIO (C) licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package com.stratio.cassandra.lucene.testsAT.search; import com.datastax.driver.core.exceptions.InvalidQueryException; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import static com.stratio.cassandra.lucene.builder.Builder.fuzzy; @RunWith(JUnit4.class) public class FuzzySearchAT extends AbstractSearchAT { @Test public void fuzzyFilterAsciiFieldTest() { filter(fuzzy("ascii_1", "frase tipo asci")).check(2); } @Test public void fuzzyFilterEmptyAsciiFieldTest() { filter(fuzzy("ascii_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyFilterAsciiFieldWith1MaxEditsTest() { filter(fuzzy("ascii_1", "frase tipo asci")).check(2); } @Test public void fuzzyFilterAsciiFieldWith0MaxEditsTest() { filter(fuzzy("ascii_1", "frase tipo asci").maxEdits(0)).check(0); } @Test public void fuzzyFilterAsciiFieldWith2PrefixLengthTest1() { filter(fuzzy("ascii_1", "frase typo ascii").prefixLength(2)).check(1); } @Test public void fuzzyFilterAsciiFieldWith2PrefixLengthTest2() { filter(fuzzy("ascii_1", "phrase tipo ascii").prefixLength(2)).check(0); } @Test public void fuzzyFilterAsciiFieldWith10MaxExpansionsTest() { filter(fuzzy("ascii_1", "frase tipo ascii").maxExpansions(10)).check(2); } @Test public void fuzzyFilterAsciiFieldWithoutTranspositionsTest() { filter(fuzzy("ascii_1", "farse itpo ascii").transpositions(false)).check(0); } @Test public void fuzzyFilterAsciiFieldWithTranspositionsTest() { filter(fuzzy("ascii_1", "farse itpo ascii").transpositions(true)).check(1); } @Test public void fuzzyFilterAsciiFieldWith5MaxEditsAndTranspositionsTest() { filter(fuzzy("ascii_1", "farse itpo ascii").maxEdits(1).transpositions(true)).check(0); } @Test public void fuzzyFilterInetFieldTest() { filter(fuzzy("inet_1", "127.0.1.1")).check(4); } @Test public void fuzzyFilterEmptyInetFieldTest() { filter(fuzzy("inet_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyFilterInetFieldWith1MaxEditsTest() { filter(fuzzy("inet_1", "127.0.0.1").maxEdits(1)).check(2); } @Test public void fuzzyFilterInetFieldWith0MaxEditsTest() { filter(fuzzy("inet_1", "127.0.1.1").maxEdits(0)).check(1); } @Test public void fuzzyFilterInetFieldWith2PrefixLengthTest1() { filter(fuzzy("inet_1", "127.0.1.1").prefixLength(2)).check(4); } @Test public void fuzzyFilterInetFieldWith2PrefixLengthTest2() { filter(fuzzy("inet_1", "117.0.1.1").prefixLength(2)).check(0); } @Test public void fuzzyFilterInetFieldWith10MaxExpansionsTest() { filter(fuzzy("inet_1", "127.0.1.1").maxExpansions(10)).check(4); } @Test public void fuzzyFilterInetFieldWithoutTranspositionsTest() { filter(fuzzy("inet_1", "1270..1.1").transpositions(false)).check(3); } @Test public void fuzzyFilterInetFieldWithTranspositionsTest() { filter(fuzzy("inet_1", "1270..1.1").transpositions(true)).check(4); } @Test public void fuzzyFilterInetFieldWith1MaxEditsAndTranspositionsTest() { filter(fuzzy("inet_1", "1270..1.1").maxEdits(1).transpositions(true)).check(1); } @Test public void fuzzyFilterTextFieldTest() { filter(fuzzy("text_1", "Frasesinespaciosconarticulosylaspalabrassuficiente")).check(2); } @Test public void fuzzyFilterEmptyTextFieldTest() { filter(fuzzy("text_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyFilterTextFieldWith1MaxEditsTest() { filter(fuzzy("text_1", "frasesinespaciosconarticulosylaspalabrassuficiente").maxEdits(1)).check(1); } @Test public void fuzzyFilterTextFieldWith0MaxEditsTest() { filter(fuzzy("text_1", "Frasesinespaciosconarticulosylaspalabrassuficiente").maxEdits(0)).check(0); } @Test public void fuzzyFilterTextFieldWith2PrefixLengthTest1() { filter(fuzzy("text_1", "frasesinespaciosconarticulosylaspalabrassuficiente").prefixLength(2)).check(1); } @Test public void fuzzyFilterTextFieldWith2PrefixLengthTest2() { filter(fuzzy("text_1", "rFasesinespaciosconarticulosylaspalabrassuficiente").prefixLength(2)).check(0); } @Test public void fuzzyFilterTextFieldWith10MaxExpansionsTest() { filter(fuzzy("text_1", "Frasesinespaciosconarticulosylaspalabrassuficiente").maxExpansions(10)).check(2); } @Test public void fuzzyFilterTextFieldWithoutTranspositionsTest() { filter(fuzzy("text_1", "Frasseinespacisoconarticulosylaspalabrassuficientes").transpositions(false)).check(0); } @Test public void fuzzyFilterTextFieldWithTranspositionsTest() { filter(fuzzy("text_1", "frasseinespacisoconarticulosylaspalabrassuficientes").transpositions(true)).check(1); } @Test public void fuzzyFilterTextFieldWith5MaxEditsAndTranspositionsTest() { filter(fuzzy("text_1", "Frasseinespacisoconarticulosylaspalabrassuficientes").maxEdits(1) .transpositions(true)).check(0); } @Test public void fuzzyFilterVarcharFieldTest() { filter(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga")).check(3); } @Test public void fuzzyFilterEmptyVarcharFieldTest() { filter(fuzzy("varchar_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyFilterVarcharFieldWith1MaxEditsTest() { filter(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").maxEdits(1)).check(2); } @Test public void fuzzyFilterVarcharFieldWith0MaxEditsTest() { filter(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").maxEdits(0)).check(0); } @Test public void fuzzyFilterVarcharFieldWith2PrefixLengthTest1() { filter(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").prefixLength(2)).check(2); } @Test public void fuzzyFilterVarcharFieldWith2PrefixLengthTest2() { filter(fuzzy("varchar_1", "rfasesencillasnespaciosperomaslarga").prefixLength(2)).check(0); } @Test public void fuzzyFilterVarcharFieldWith1MaxExpansionsTest() { filter(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").maxExpansions(1)).check(2); } @Test public void fuzzyFilterVarcharFieldWith10MaxExpansionsTest() { filter(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").maxExpansions(10)).check(3); } @Test public void fuzzyFilterVarcharFieldWithoutTranspositionsTest() { filter(fuzzy("varchar_1", "frasesenicllasnespaciosperomaslarga").transpositions(false)).check(0); } @Test public void fuzzyFilterVarcharFieldWithTranspositionsTest() { filter(fuzzy("varchar_1", "frasesenicllasnespaciosperomaslarga").transpositions(true)).check(2); } @Test public void fuzzyFilterVarcharFieldWith5MaxEditsAndTranspositionsTest() { filter(fuzzy("varchar_1", "frasesenicllasnespaciosperomaslarga").maxEdits(1).transpositions(true)).check(0); } @Test public void fuzzyFilterListFieldTest1() { filter(fuzzy("list_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyFilterListFieldTest2() { filter(fuzzy("list_1", "l1")).check(5); } @Test public void fuzzyFilterListFieldTest3() { filter(fuzzy("list_1", "s1")).check(2); } @Test public void fuzzyFilterListFieldTest4() { filter(fuzzy("list_1", "s7l")).check(0); } @Test public void fuzzyFilterSetFieldTest1() { filter(fuzzy("set_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyFilterSetFieldTest2() { filter(fuzzy("set_1", "l1")).check(2); } @Test public void fuzzyFilterSetFieldTest3() { filter(fuzzy("set_1", "s1")).check(5); } @Test public void fuzzyFilterSetFieldTest4() { filter(fuzzy("set_1", "k87")).check(0); } @Test public void fuzzyFilterMapFieldTest1() { filter(fuzzy("map_1$k1", "")).check(InvalidQueryException.class); } @Test public void fuzzyFilterMapFieldTest2() { filter(fuzzy("map_1$k1", "l1")).check(2); } @Test public void fuzzyFilterMapFieldTest3() { filter(fuzzy("map_1$k1", "k1")).check(2); } @Test public void fuzzyFilterMapFieldTest4() { filter(fuzzy("map_1$k1", "v1")).check(2); } @Test public void fuzzyQueryAsciiFieldTest() { query(fuzzy("ascii_1", "frase tipo asci")).check(2); } @Test public void fuzzyQueryEmptyAsciiFieldTest() { query(fuzzy("ascii_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyQueryAsciiFieldWith1MaxEditsTest() { query(fuzzy("ascii_1", "frase tipo asci")).check(2); } @Test public void fuzzyQueryAsciiFieldWith0MaxEditsTest() { query(fuzzy("ascii_1", "frase tipo asci").maxEdits(0)).check(0); } @Test public void fuzzyQueryAsciiFieldWith2PrefixLengthTest1() { query(fuzzy("ascii_1", "frase typo ascii").prefixLength(2)).check(1); } @Test public void fuzzyQueryAsciiFieldWith2PrefixLengthTest2() { query(fuzzy("ascii_1", "phrase tipo ascii").prefixLength(2)).check(0); } @Test public void fuzzyQueryAsciiFieldWith10MaxExpansionsTest() { query(fuzzy("ascii_1", "frase tipo ascii").maxExpansions(10)).check(2); } @Test public void fuzzyQueryAsciiFieldWithoutTranspositionsTest() { query(fuzzy("ascii_1", "farse itpo ascii").transpositions(false)).check(0); } @Test public void fuzzyQueryAsciiFieldWithTranspositionsTest() { query(fuzzy("ascii_1", "farse itpo ascii").transpositions(true)).check(1); } @Test public void fuzzyQueryAsciiFieldWith5MaxEditsAndTranspositionsTest() { query(fuzzy("ascii_1", "farse itpo ascii").maxEdits(1).transpositions(true)).check(0); } @Test public void fuzzyQueryInetFieldTest() { query(fuzzy("inet_1", "127.0.1.1")).check(4); } @Test public void fuzzyQueryEmptyInetFieldTest() { query(fuzzy("inet_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyQueryInetFieldWith1MaxEditsTest() { query(fuzzy("inet_1", "127.0.0.1").maxEdits(1)).check(2); } @Test public void fuzzyQueryInetFieldWith0MaxEditsTest() { query(fuzzy("inet_1", "127.0.1.1").maxEdits(0)).check(1); } @Test public void fuzzyQueryInetFieldWith2PrefixLengthTest1() { query(fuzzy("inet_1", "127.0.1.1").prefixLength(2)).check(4); } @Test public void fuzzyQueryInetFieldWith2PrefixLengthTest2() { query(fuzzy("inet_1", "117.0.1.1").prefixLength(2)).check(0); } @Test public void fuzzyQueryInetFieldWith10MaxExpansionsTest() { query(fuzzy("inet_1", "127.0.1.1").maxExpansions(10)).check(4); } @Test public void fuzzyQueryInetFieldWithoutTranspositionsTest() { query(fuzzy("inet_1", "1270..1.1").transpositions(false)).check(3); } @Test public void fuzzyQueryInetFieldWithTranspositionsTest() { query(fuzzy("inet_1", "1270..1.1").transpositions(true)).check(4); } @Test public void fuzzyQueryInetFieldWith1MaxEditsAndTranspositionsTest() { query(fuzzy("inet_1", "1270..1.1").maxEdits(1).transpositions(true)).check(1); } @Test public void fuzzyQueryTextFieldTest() { query(fuzzy("text_1", "Frasesinespaciosconarticulosylaspalabrassuficiente")).check(2); } @Test public void fuzzyQueryEmptyTextFieldTest() { query(fuzzy("text_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyQueryTextFieldWith1MaxEditsTest() { query(fuzzy("text_1", "frasesinespaciosconarticulosylaspalabrassuficiente").maxEdits(1)).check(1); } @Test public void fuzzyQueryTextFieldWith0MaxEditsTest() { query(fuzzy("text_1", "Frasesinespaciosconarticulosylaspalabrassuficiente").maxEdits(0)).check(0); } @Test public void fuzzyQueryTextFieldWith2PrefixLengthTest1() { query(fuzzy("text_1", "frasesinespaciosconarticulosylaspalabrassuficiente").prefixLength(2)).check(1); } @Test public void fuzzyQueryTextFieldWith2PrefixLengthTest2() { query(fuzzy("text_1", "rFasesinespaciosconarticulosylaspalabrassuficiente").prefixLength(2)).check(0); } @Test public void fuzzyQueryTextFieldWith10MaxExpansionsTest() { query(fuzzy("text_1", "Frasesinespaciosconarticulosylaspalabrassuficiente").maxExpansions(10)).check(2); } @Test public void fuzzyQueryTextFieldWithoutTranspositionsTest() { query(fuzzy("text_1", "Frasseinespacisoconarticulosylaspalabrassuficientes").transpositions(false)).check(0); } @Test public void fuzzyQueryTextFieldWithTranspositionsTest() { query(fuzzy("text_1", "frasseinespacisoconarticulosylaspalabrassuficientes").transpositions(true)).check(1); } @Test public void fuzzyQueryTextFieldWith5MaxEditsAndTranspositionsTest() { query(fuzzy("text_1", "Frasseinespacisoconarticulosylaspalabrassuficientes").maxEdits(1) .transpositions(true)).check(0); } @Test public void fuzzyQueryVarcharFieldTest() { query(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga")).check(3); } @Test public void fuzzyQueryEmptyVarcharFieldTest() { query(fuzzy("varchar_1", "")).check(InvalidQueryException.class); } @Test public void fuzzyQueryVarcharFieldWith1MaxEditsTest() { query(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").maxEdits(1)).check(2); } @Test public void fuzzyQueryVarcharFieldWith0MaxEditsTest() { query(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").maxEdits(0)).check(0); } @Test public void fuzzyQueryVarcharFieldWith2PrefixLengthTest1() { query(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").prefixLength(2)).check(2); } @Test public void fuzzyQueryVarcharFieldWith2PrefixLengthTest2() { query(fuzzy("varchar_1", "rfasesencillasnespaciosperomaslarga").prefixLength(2)).check(0); } @Test public void fuzzyQueryVarcharFieldWith1MaxExpansionsTest() { query(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").maxExpansions(1)).check(2); } @Test public void fuzzyQueryVarcharFieldWith10MaxExpansionsTest() { query(fuzzy("varchar_1", "frasesencillasnespaciosperomaslarga").maxExpansions(10)).check(3); } @Test public void fuzzyQueryVarcharFieldWithoutTranspositionsTest() { query(fuzzy("varchar_1", "frasesenicllasnespaciosperomaslarga").transpositions(false)).check(0); } @Test public void fuzzyQueryVarcharFieldWithTranspositionsTest() { query(fuzzy("varchar_1", "frasesenicllasnespaciosperomaslarga").transpositions(true)).check(2); } @Test public void fuzzyQueryVarcharFieldWith5MaxEditsAndTranspositionsTest() { query(fuzzy("varchar_1", "frasesenicllasnespaciosperomaslarga").maxEdits(1).transpositions(true)).check(0); } @Test public void fuzzyQueryListFieldTest1() { query(fuzzy("list_1", "")).check(Exception.class); } @Test public void fuzzyQueryListFieldTest2() { query(fuzzy("list_1", "l1")).check(5); } @Test public void fuzzyQueryListFieldTest3() { query(fuzzy("list_1", "s1")).check(2); } @Test public void fuzzyQueryListFieldTest4() { query(fuzzy("list_1", "s7l")).check(0); } @Test public void fuzzyQuerySetFieldTest1() { query(fuzzy("set_1", "")).check(Exception.class); } @Test public void fuzzyQuerySetFieldTest2() { query(fuzzy("set_1", "l1")).check(2); } @Test public void fuzzyQuerySetFieldTest3() { query(fuzzy("set_1", "s1")).check(5); } @Test public void fuzzyQuerySetFieldTest4() { query(fuzzy("set_1", "k87")).check(0); } @Test public void fuzzyQueryMapFieldTest1() { query(fuzzy("map_1$k1", "")).check(InvalidQueryException.class); } @Test public void fuzzyQueryMapFieldTest2() { query(fuzzy("map_1$k1", "l1")).check(2); } @Test public void fuzzyQueryMapFieldTest3() { query(fuzzy("map_1$k1", "k1")).check(2); } @Test public void fuzzyQueryMapFieldTest4() { query(fuzzy("map_1$k1", "v1")).check(2); } }