summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-03-19 18:34:28 +0100
committerGitHub <noreply@github.com>2018-03-19 18:34:28 +0100
commit5e16b978a54294d9e2fe36d1d88bbd5544a8677a (patch)
tree92844385dd22fce93836df7b5d5765cb89411a8a
parent69719fdf5dee75d34a25cac0cfa9c50a4b2fff2f (diff)
parentb574191a77c063e1df929ca34d277d48e1599e0c (diff)
Merge pull request #5377 from vespa-engine/bratseth/reduce-old-junit-usage
Nonfunctional changes only
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java14
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/ContainerRestartValidator.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/ContentClusterFixture.java1
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/IndexedItem.java4
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/SimpleIndexedItem.java5
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/WandItem.java5
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java53
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/cluster/test/HasherTestCase.java18
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/DocsumFieldTestCase.java19
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/test/CacheKeyTestCase.java15
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java15
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketCacheTestCase.java22
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketWrapperTestCase.java27
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java17
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/hitfield/XmlRendererTestCase.java15
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/hitfield/test/HitFieldTestCase.java18
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/hitfield/test/JSONStringTestCase.java32
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/hitfield/test/TokenFieldIteratorTestCase.java17
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/parser/test/ExactMatchAndDefaultIndexTestCase.java19
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java65
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/parser/test/WashPhrasesTestCase.java25
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/ItemEncodingTestCase.java35
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/PhraseItemTestCase.java14
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/PredicateQueryItemTestCase.java6
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/QueryLanguageTestCase.java16
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/QueryTestCase.java12
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/WeightedSetItemTestCase.java22
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java11
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java24
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/IndexCombinatorTestCase.java40
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/NoRankingSearcherTestCase.java12
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java13
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhraseMatcherTestCase.java23
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhrasingSearcherTestCase.java43
-rwxr-xr-xcontainer-search/src/test/java/com/yahoo/prelude/querytransform/test/RecallSearcherTestCase.java13
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java61
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/ErrorHitRenderTestCase.java17
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java27
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/MultipleResultsTestCase.java14
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java42
-rw-r--r--container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java1
-rw-r--r--indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/FieldPathUpdateAdapter.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java5
-rwxr-xr-xsearchlib/src/main/javacc/RankingExpressionParser.jj6
-rw-r--r--yolean/src/main/java/com/yahoo/yolean/concurrent/CopyOnWriteHashMap.java1
49 files changed, 545 insertions, 333 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java b/config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java
index 6e7582a98c8..0590027a402 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/document/SDField.java
@@ -30,8 +30,7 @@ import java.util.*;
*/
public class SDField extends Field implements TypedKey, FieldOperationContainer, ImmutableSDField, Serializable {
- /** Use this field for modifying index-structure, even if it doesn't
- have any indexing code */
+ /** Use this field for modifying index-structure, even if it doesn't have any indexing code */
private boolean indexStructureField = false;
/** The indexing statements to be applied to this value during indexing */
@@ -61,7 +60,7 @@ public class SDField extends Field implements TypedKey, FieldOperationContainer,
/**
* Indicates what kind of matching should be done on this field
*/
- private Matching matching=new Matching();
+ private Matching matching = new Matching();
/** Attribute settings, or null if there are none */
private Map<String, Attribute> attributes = new TreeMap<>();
@@ -104,11 +103,10 @@ public class SDField extends Field implements TypedKey, FieldOperationContainer,
private boolean isExtraField = false;
/**
- Creates a new field. This method is only used to create reserved fields
- @param name The name of the field
- @param dataType The datatype of the field
- @param isHeader Whether this is a "header" field or a "content" field
- (true = "header").
+ * Creates a new field. This method is only used to create reserved fields
+ * @param name The name of the field
+ * @param dataType The datatype of the field
+ * @param isHeader Whether this is a "header" field or a "content" field (true = "header").
*/
protected SDField(SDDocumentType repo, String name, int id, DataType dataType, boolean isHeader, boolean populate) {
super(name, id, dataType, isHeader);
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java
index 7d13233bc12..507a0e87cff 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/LiteralBoost.java
@@ -64,7 +64,7 @@ public class LiteralBoost extends Processor {
private void reduceFieldLiteralBoosts(Search search) {
for (SDField field : search.allConcreteFields()) {
- if (field.getLiteralBoost()<0) continue;
+ if (field.getLiteralBoost() < 0) continue;
reduceFieldLiteralBoost(field,search);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java
index 490627e7b45..eaad6ad90a0 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java
@@ -28,7 +28,6 @@ import static java.util.stream.Collectors.toList;
* Executor of validators. This defines the right order of validator execution.
*
* @author hmusum
- * @since 2010-01-29
*/
public class Validation {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/ContainerRestartValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/ContainerRestartValidator.java
index c27600578b5..5cee08ea9af 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/ContainerRestartValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/ContainerRestartValidator.java
@@ -46,4 +46,5 @@ public class ContainerRestartValidator implements ChangeValidator {
private static boolean isExistingContainer(Container container, VespaModel currentModel) {
return currentModel.getService(container.getConfigId()).isPresent();
}
+
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java
index 95ae03d4e5f..26bebad93b4 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java
@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
* Validates the changes between the current and next set of attribute fields in a document database.
*
* @author geirst
- * @since 2014-12-04
*/
public class AttributeChangeValidator {
@@ -145,7 +144,7 @@ public class AttributeChangeValidator {
List<VespaConfigChangeAction> result) {
T currentValue = settingValueProvider.apply(currentAttr);
T nextValue = settingValueProvider.apply(nextAttr);
- if (!Objects.equals(currentValue, nextValue)) {
+ if ( ! Objects.equals(currentValue, nextValue)) {
String message = String.format("change property '%s' from '%s' to '%s'", setting, currentValue, nextValue);
result.add(new VespaRestartAction(new ChangeMessageBuilder(nextAttr.getName()).addChange(message).build()));
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/ContentClusterFixture.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/ContentClusterFixture.java
index 46f12a21bf0..3827da08679 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/ContentClusterFixture.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/ContentClusterFixture.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertThat;
* @author geirst
*/
public abstract class ContentClusterFixture {
+
protected ContentCluster currentCluster;
protected ContentCluster nextCluster;
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/IndexedItem.java b/container-search/src/main/java/com/yahoo/prelude/query/IndexedItem.java
index b51c206a7ff..3dafa230eb8 100644
--- a/container-search/src/main/java/com/yahoo/prelude/query/IndexedItem.java
+++ b/container-search/src/main/java/com/yahoo/prelude/query/IndexedItem.java
@@ -10,7 +10,7 @@ package com.yahoo.prelude.query;
public interface IndexedItem extends HasIndexItem {
/** Sets the name of the index to search */
- public void setIndexName(String index);
+ void setIndexName(String index);
/**
* Return the searchable term contents of this item.
@@ -18,6 +18,6 @@ public interface IndexedItem extends HasIndexItem {
* @return a string representation of what is presumably stored in an index
* which will match this item
*/
- public String getIndexedString();
+ String getIndexedString();
}
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/SimpleIndexedItem.java b/container-search/src/main/java/com/yahoo/prelude/query/SimpleIndexedItem.java
index 4b66d0d757b..2535619f193 100644
--- a/container-search/src/main/java/com/yahoo/prelude/query/SimpleIndexedItem.java
+++ b/container-search/src/main/java/com/yahoo/prelude/query/SimpleIndexedItem.java
@@ -25,9 +25,7 @@ public abstract class SimpleIndexedItem extends SimpleTaggableItem implements In
@NonNull
private String index = "";
- /**
- * The name of the index this belongs to, or "" (never null) if not specified
- **/
+ /** The name of the index this belongs to, or "" (never null) if not specified */
@NonNull
public String getIndexName() {
return index;
@@ -78,4 +76,5 @@ public abstract class SimpleIndexedItem extends SimpleTaggableItem implements In
super.disclose(discloser);
discloser.addProperty("index", index);
}
+
}
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/WandItem.java b/container-search/src/main/java/com/yahoo/prelude/query/WandItem.java
index 1e04880a284..20f034df1df 100644
--- a/container-search/src/main/java/com/yahoo/prelude/query/WandItem.java
+++ b/container-search/src/main/java/com/yahoo/prelude/query/WandItem.java
@@ -13,7 +13,6 @@ import java.nio.ByteBuffer;
* and the weights associated with the tokens of this WandItem.
* The resulting dot product will be available as a raw score in the rank framework.
*
- * @since 5.1.27
* @author geirst
*/
public class WandItem extends WeightedSetItem {
@@ -24,6 +23,7 @@ public class WandItem extends WeightedSetItem {
/**
* Creates an empty WandItem.
+ *
* @param fieldName The name of the weighted set field to search with this WandItem.
* @param targetNumHits The target for minimum number of hits to produce by the backend search operator handling this WandItem.
*/
@@ -36,6 +36,7 @@ public class WandItem extends WeightedSetItem {
* Sets the initial score threshold used by the backend search operator handling this WandItem.
* The score of a document must be larger than this threshold in order to be considered a match.
* Default value is 0.0.
+ *
* @param scoreThreshold the initial score threshold.
*/
public void setScoreThreshold(double scoreThreshold) {
@@ -49,6 +50,7 @@ public class WandItem extends WeightedSetItem {
* Similarly, a gain in performance might be expected. Default value is 1.0.
*
* NOTE: This boost factor is only used when this WandItem is searching a Vespa field.
+ *
* @param thresholdBoostFactor the boost factor.
*/
public void setThresholdBoostFactor(double thresholdBoostFactor) {
@@ -100,4 +102,5 @@ public class WandItem extends WeightedSetItem {
discloser.addProperty("scoreThreshold", scoreThreshold);
discloser.addProperty("thresholdBoostFactor", thresholdBoostFactor);
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java
index 98d94473908..07ffe7ac706 100644
--- a/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java
@@ -7,8 +7,14 @@ import com.yahoo.container.QrSearchersConfig;
import com.yahoo.container.search.Fs4Config;
import com.yahoo.container.search.LegacyEmulationConfig;
import com.yahoo.fs4.QueryPacket;
-import com.yahoo.prelude.*;
-import com.yahoo.prelude.fastsearch.*;
+import com.yahoo.prelude.IndexFacts;
+import com.yahoo.prelude.IndexModel;
+import com.yahoo.prelude.SearchDefinition;
+import com.yahoo.prelude.fastsearch.CacheKey;
+import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig;
+import com.yahoo.prelude.fastsearch.FS4ResourcePool;
+import com.yahoo.prelude.fastsearch.FastHit;
+import com.yahoo.prelude.fastsearch.VespaBackEndSearcher;
import com.yahoo.search.Query;
import com.yahoo.search.config.ClusterConfig;
import com.yahoo.search.result.Hit;
@@ -17,22 +23,32 @@ import com.yahoo.container.handler.VipStatus;
import com.yahoo.container.protect.Error;
import com.yahoo.statistics.Statistics;
import com.yahoo.vespa.config.search.DispatchConfig;
+import org.junit.Test;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
/**
* Tests cluster monitoring
*
* @author bratseth
*/
-public class ClusterSearcherTestCase extends junit.framework.TestCase {
-
- public ClusterSearcherTestCase(String name) {
- super(name);
- }
+public class ClusterSearcherTestCase {
+ @Test
public void testNoBackends() {
ClusterSearcher cluster = new ClusterSearcher(new LinkedHashSet<>(Arrays.asList("dummy")));
try {
@@ -42,14 +58,12 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
query.setHits(10);
com.yahoo.search.Result result = execution.search(query);
assertTrue(result.hits().getError() != null);
- assertEquals("No backends in service. Try later", result.hits()
- .getError().getMessage());
+ assertEquals("No backends in service. Try later", result.hits().getError().getMessage());
} finally {
cluster.deconstruct();
}
}
-
private IndexFacts createIndexFacts() {
Map<String, List<String>> clusters = new LinkedHashMap<>();
clusters.put("cluster1", Arrays.asList("type1", "type2", "type3"));
@@ -70,6 +84,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
return searcher.resolveDocumentTypes(new Query("?query=hello" + query), createIndexFacts());
}
+ @Test
public void testThatDocumentTypesAreResolved() {
ClusterSearcher cluster1 = new ClusterSearcher(new LinkedHashSet<>(Arrays.asList("type1", "type2", "type3")));
try {
@@ -108,6 +123,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testThatDocumentTypesAreResolvedTODO_REMOVE() {
ClusterSearcher cluster1 = new ClusterSearcher(new LinkedHashSet<>(Arrays.asList("type1", "type2", "type3")));
try {
@@ -353,10 +369,11 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
List<Hit> hits = result.hits().asList();
assertEquals(expHits.size(), hits.size());
for (int i = 0; i < expHits.size(); ++i) {
- assertEquals(expHits.get(i), hits.get(i).getRelevance().getScore());
+ assertEquals(expHits.get(i), hits.get(i).getRelevance().getScore(), 0.0000001);
}
}
+ @Test
public void testThatWeCanSpecifyNumHitsAndHitOffset() {
Execution ex = createExecution();
@@ -370,7 +387,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertResult(9, Arrays.asList(5.0, 4.0), getResult(6, 2, ex));
assertResult(9, Arrays.asList(4.0, 3.0), getResult(7, 2, ex));
assertResult(9, Arrays.asList(3.0), getResult(8, 2, ex));
- assertResult(9, new ArrayList<Double>(), getResult(9, 2, ex));
+ assertResult(9, new ArrayList<Double>(), getResult(9, 2, ex));
assertResult(9, Arrays.asList(11.0, 10.0, 9.0, 8.0, 7.0), getResult(0, 5, ex));
assertResult(9, Arrays.asList(6.0, 5.0, 4.0, 3.0), getResult(5, 5, ex));
@@ -381,6 +398,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertResult(3, new ArrayList<>(), getResult(3, 2, "&restrict=type1", ex));
}
+ @Test
public void testThatWeCanSpecifyNumHitsAndHitOffsetWhenSorting() {
Execution ex = createExecution(true);
@@ -397,6 +415,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertResult(6, new ArrayList<>(), getResult(6, 2, extra, ex));
}
+ @Test
public void testLocalConnect() throws UnknownHostException {
ClusterSearcher cluster = new ClusterSearcher(new LinkedHashSet<>(Arrays.asList("dummy")));
boolean canFindYahoo;
@@ -420,6 +439,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testRequireThatSearchFailsForUndefinedRankProfileWithOneDocType() {
Execution execution = createExecution(Arrays.asList("type1"), false);
@@ -451,6 +471,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertEquals(3, result.getTotalHitCount());
}
+ @Test
public void testRequireThatSearchFailsForUndefinedRankProfileWithMultipleDocTypes() {
Execution execution = createExecution(Arrays.asList("type1", "type2", "type3"), false);
@@ -541,6 +562,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testThatQueryTimeoutIsCappedWithDefaultMax() {
QueryTimeoutFixture f = new QueryTimeoutFixture(null, null);
f.query.setTimeout(600001);
@@ -548,6 +570,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertEquals(600000, f.query.getTimeout());
}
+ @Test
public void testThatQueryTimeoutIsNotCapped() {
QueryTimeoutFixture f = new QueryTimeoutFixture(null, null);
f.query.setTimeout(599999);
@@ -555,6 +578,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertEquals(599999, f.query.getTimeout());
}
+ @Test
public void testThatQueryTimeoutIsCappedWithSpecifiedMax() {
QueryTimeoutFixture f = new QueryTimeoutFixture(new Double(70), null);
f.query.setTimeout(70001);
@@ -562,6 +586,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertEquals(70000, f.query.getTimeout());
}
+ @Test
public void testThatQueryCacheIsDisabledIfTimeoutIsLargerThanMax() {
QueryTimeoutFixture f = new QueryTimeoutFixture(null, null);
f.query.setTimeout(10001);
@@ -570,6 +595,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertFalse(f.query.getRanking().getQueryCache());
}
+ @Test
public void testThatQueryCacheIsNotDisabledIfTimeoutIsOk() {
QueryTimeoutFixture f = new QueryTimeoutFixture(null, null);
f.query.setTimeout(10000);
@@ -578,6 +604,7 @@ public class ClusterSearcherTestCase extends junit.framework.TestCase {
assertTrue(f.query.getRanking().getQueryCache());
}
+ @Test
public void testThatQueryCacheIsDisabledIfTimeoutIsLargerThanConfiguredMax() {
QueryTimeoutFixture f = new QueryTimeoutFixture(null, new Double(5));
f.query.setTimeout(5001);
diff --git a/container-search/src/test/java/com/yahoo/prelude/cluster/test/HasherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/cluster/test/HasherTestCase.java
index d74bfc9a21a..04ea03d8d83 100644
--- a/container-search/src/test/java/com/yahoo/prelude/cluster/test/HasherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/cluster/test/HasherTestCase.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.cluster.test;
-import com.yahoo.container.handler.VipStatus;
import com.yahoo.fs4.QueryPacket;
import com.yahoo.prelude.cluster.Hasher;
import com.yahoo.prelude.fastsearch.CacheKey;
@@ -9,6 +8,12 @@ import com.yahoo.prelude.fastsearch.VespaBackEndSearcher;
import com.yahoo.search.Query;
import com.yahoo.search.Result;
import com.yahoo.search.searchchain.Execution;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
/**
* Tests the Hashing/failover/whatever functionality.
@@ -16,12 +21,9 @@ import com.yahoo.search.searchchain.Execution;
* @author bratseth
* @author Steinar Knutsen
*/
-public class HasherTestCase extends junit.framework.TestCase {
-
- public HasherTestCase (String name) {
- super(name);
- }
+public class HasherTestCase {
+ @Test
public void testEmptyHasher() {
Hasher hasher=new Hasher();
assertNull(hasher.select(0));
@@ -40,6 +42,7 @@ public class HasherTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testOneHasher() {
Hasher hasher = new Hasher();
VespaBackEndSearcher o1 = new MockBackend();
@@ -51,6 +54,7 @@ public class HasherTestCase extends junit.framework.TestCase {
assertNull(hasher.select(0));
}
+ @Test
public void testAddAndRemove() {
Hasher hasher = new Hasher();
VespaBackEndSearcher v0 = new MockBackend();
@@ -84,6 +88,7 @@ public class HasherTestCase extends junit.framework.TestCase {
assertSame(v0, hasher.select(0));
}
+ @Test
public void testPreferLocal() {
Hasher hasher = new Hasher();
VespaBackEndSearcher v0 = new MockBackend();
@@ -103,7 +108,6 @@ public class HasherTestCase extends junit.framework.TestCase {
hasher.add(v2);
assertTrue(hasher.select(0).isLocalDispatching());
-
hasher = new Hasher();
hasher.add(v0);
hasher.add(v1);
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/DocsumFieldTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/DocsumFieldTestCase.java
index 1c677fd4bdc..8efbeaec10d 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/DocsumFieldTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/DocsumFieldTestCase.java
@@ -1,24 +1,21 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.fastsearch;
+import org.junit.Test;
+
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import com.yahoo.prelude.fastsearch.DocsumField;
-import com.yahoo.prelude.fastsearch.FastHit;
-
+import static org.junit.Assert.assertEquals;
/**
* Tests DocsumField class functionality
*
* @author Bjørn Borud
*/
-public class DocsumFieldTestCase extends junit.framework.TestCase {
-
- public DocsumFieldTestCase(String name) {
- super(name);
- }
+public class DocsumFieldTestCase {
+ @Test
public void testConstructors() {
DocsumField.create("test", "string");
DocsumField.create("test", "integer");
@@ -26,6 +23,7 @@ public class DocsumFieldTestCase extends junit.framework.TestCase {
DocsumField.create("test", "int64");
}
+ @Test
public void testByte() {
FastHit hit = new FastHit();
DocsumField c = DocsumField.create("test", "byte");
@@ -46,12 +44,11 @@ public class DocsumFieldTestCase extends junit.framework.TestCase {
assertEquals("30", hit.getField("test").toString());
}
+ @Test
public void testLongString() {
FastHit hit = new FastHit();
DocsumField c = DocsumField.create("test", "longstring");
- byte[] byteData = {
- 4, 0, 0, 0, 'c', 'a', 'f', 'e', 4, 0, 0, 0, 'B', 'A',
- 'B', 'E'};
+ byte[] byteData = { 4, 0, 0, 0, 'c', 'a', 'f', 'e', 4, 0, 0, 0, 'B', 'A', 'B', 'E' };
ByteBuffer buffer = ByteBuffer.wrap(byteData);
buffer.order(ByteOrder.LITTLE_ENDIAN);
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/CacheKeyTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/CacheKeyTestCase.java
index e7ab1cc137a..e03581c6ad4 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/CacheKeyTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/CacheKeyTestCase.java
@@ -1,21 +1,20 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.fastsearch.test;
-
import com.yahoo.fs4.QueryPacket;
import com.yahoo.search.Query;
import com.yahoo.prelude.fastsearch.CacheKey;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
/**
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
-public class CacheKeyTestCase extends junit.framework.TestCase {
-
- public CacheKeyTestCase(String name) {
- super(name);
- }
+public class CacheKeyTestCase {
+ @Test
public void testHitsOffsetEquality() {
Query a = new Query("/?query=abcd");
QueryPacket p1 = QueryPacket.create(a);
@@ -27,6 +26,7 @@ public class CacheKeyTestCase extends junit.framework.TestCase {
assertEquals(k1.hashCode(), k2.hashCode());
}
+ @Test
public void testSessionKeyIgnored() {
Query a = new Query("/?query=abcd");
QueryPacket ap = QueryPacket.create(a);
@@ -38,4 +38,5 @@ public class CacheKeyTestCase extends junit.framework.TestCase {
assertEquals(ak.hashCode(), bk.hashCode());
assertFalse(ap.getQueryPacketData().equals(bp.getQueryPacketData()));
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java
index 132f15d2061..1abfea268f2 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java
@@ -15,22 +15,25 @@ import com.yahoo.document.GlobalId;
import com.yahoo.slime.BinaryFormat;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
+import org.junit.Test;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
/**
* Tests docsum class functionality
*
* @author bratseth
*/
-public class DocsumDefinitionTestCase extends junit.framework.TestCase {
-
- public DocsumDefinitionTestCase(String name) {
- super(name);
- }
+public class DocsumDefinitionTestCase {
+ @Test
public void testReading() {
String summary_cf = "file:src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg";
DocsumDefinitionSet set = createDocsumDefinitionSet(summary_cf);
@@ -58,6 +61,7 @@ public class DocsumDefinitionTestCase extends junit.framework.TestCase {
assertTrue(docsum0.getField(18) instanceof DataField);
}
+ @Test
public void testDecoding() {
String summary_cf = "file:src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg";
DocsumDefinitionSet set = createDocsumDefinitionSet(summary_cf);
@@ -98,4 +102,5 @@ public class DocsumDefinitionTestCase extends junit.framework.TestCase {
DocumentdbInfoConfig config = new ConfigGetter<>(DocumentdbInfoConfig.class).getConfig(configID);
return new DocsumDefinitionSet(config.documentdb(0));
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketCacheTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketCacheTestCase.java
index b35ef0e09cf..05f5fe9f763 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketCacheTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketCacheTestCase.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.fastsearch.test;
-
import com.yahoo.fs4.BasicPacket;
import com.yahoo.fs4.BufferTooSmallException;
import com.yahoo.fs4.PacketDecoder;
@@ -10,16 +9,20 @@ import com.yahoo.search.Query;
import com.yahoo.prelude.fastsearch.CacheKey;
import com.yahoo.prelude.fastsearch.PacketCache;
import com.yahoo.prelude.fastsearch.PacketWrapper;
+import org.junit.Test;
import java.nio.ByteBuffer;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
/**
* Tests the packet cache. Also tested in FastSearcherTestCase.
*
* @author bratseth
*/
-public class PacketCacheTestCase extends junit.framework.TestCase {
+public class PacketCacheTestCase {
static byte[] queryResultPacketData = new byte[] {
0, 0, 0, 104,
@@ -41,10 +44,7 @@ public class PacketCacheTestCase extends junit.framework.TestCase {
static CacheKey key3 = new CacheKey(QueryPacket.create(new Query("/?query=key3")));
static CacheKey key4 = new CacheKey(QueryPacket.create(new Query("/?query=key4")));
- public PacketCacheTestCase(String name) {
- super(name);
- }
-
+ @Test
public void testPutAndGet() throws BufferTooSmallException {
PacketCache cache = new PacketCache(0, (length + 30) * 3 - 1, 1e64);
@@ -81,6 +81,7 @@ public class PacketCacheTestCase extends junit.framework.TestCase {
}
// more control that delete code does not change internal access order
+ @Test
public void testInternalOrdering() throws BufferTooSmallException {
// room for three entries
PacketCache cache = new PacketCache(0, length * 4 - 1, 1e64);
@@ -106,6 +107,7 @@ public class PacketCacheTestCase extends junit.framework.TestCase {
assertNotNull(cache.get(key3));
}
+ @Test
public void testTooLargeItem() throws BufferTooSmallException {
PacketCache cache = new PacketCache(0, 100, 1e64); // 100 bytes cache
@@ -116,6 +118,7 @@ public class PacketCacheTestCase extends junit.framework.TestCase {
assertEquals(0, cache.totalPacketSize());
}
+ @Test
public void testClearing() throws BufferTooSmallException {
PacketCache cache = new PacketCache(0, 140, 1e64); // 140 bytes cache
@@ -130,6 +133,7 @@ public class PacketCacheTestCase extends junit.framework.TestCase {
assertEquals(0, cache.totalPacketSize());
}
+ @Test
public void testRemoving() throws BufferTooSmallException {
PacketCache cache = new PacketCache(0, length*2, 1e64); // 96*2 bytes cache
@@ -144,6 +148,7 @@ public class PacketCacheTestCase extends junit.framework.TestCase {
assertEquals(length, cache.totalPacketSize());
}
+ @Test
public void testEntryAging() throws BufferTooSmallException {
// 1k bytes cache, 5h timeout
PacketCache cache = new PacketCache(0, 1024, 5 * 3600);
@@ -160,6 +165,7 @@ public class PacketCacheTestCase extends junit.framework.TestCase {
return createCacheEntry(null);
}
+ @Test
public void testTooBigCapacity() {
PacketCache cache = new PacketCache(2048, 0, 5 * 3600);
assertEquals(Integer.MAX_VALUE, cache.getByteCapacity());
@@ -171,9 +177,7 @@ public class PacketCacheTestCase extends junit.framework.TestCase {
data.put(queryResultPacketData);
data.flip();
- BasicPacket[] content = new BasicPacket[] {
- PacketDecoder.extractPacket(
- data).packet };
+ BasicPacket[] content = new BasicPacket[] { PacketDecoder.extractPacket(data).packet };
return new PacketWrapper(key, content);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketWrapperTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketWrapperTestCase.java
index ea13d2e3be5..8411b4bcb0b 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketWrapperTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PacketWrapperTestCase.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.fastsearch.test;
-
import java.util.Iterator;
import java.util.List;
@@ -12,14 +11,20 @@ import com.yahoo.fs4.QueryResultPacket;
import com.yahoo.search.Query;
import com.yahoo.prelude.fastsearch.CacheKey;
import com.yahoo.prelude.fastsearch.PacketWrapper;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
/**
* Tests the logic wrapping cache entries.
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
-public class PacketWrapperTestCase extends junit.framework.TestCase {
+public class PacketWrapperTestCase {
+
+ @Test
public void testPartialOverlap() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -77,6 +82,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
}
+ @Test
public void testPacketTrimming1() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -92,6 +98,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(10, ((QueryResultPacket) l.get(1)).getOffset());
}
+ @Test
public void testPacketTrimming2() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -108,6 +115,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(50, ((QueryResultPacket) l.get(2)).getOffset());
}
+ @Test
public void testPacketTrimming3() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -124,6 +132,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(25, ((QueryResultPacket) l.get(2)).getOffset());
}
+ @Test
public void testPacketTrimming4() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -144,6 +153,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(20, ((QueryResultPacket) l.get(2)).getOffset());
}
+ @Test
public void testPacketTrimming5() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -168,6 +178,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(15, ((QueryResultPacket) l.get(2)).getOffset());
}
+ @Test
public void testPacketTrimming6() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -191,6 +202,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(70, ((QueryResultPacket) l.get(3)).getOffset());
}
+ @Test
public void testPacketTrimming7() {
final Query query = new Query("/?query=key");
query.setWindow(50, 10);
@@ -218,6 +230,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(50, ((QueryResultPacket) l.get(5)).getOffset());
}
+ @Test
public void testPacketTrimming8() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -234,6 +247,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(90, ((QueryResultPacket) l.get(2)).getOffset());
}
+ @Test
public void testPacketTrimming9() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -252,6 +266,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(20, ((QueryResultPacket) l.get(2)).getOffset());
}
+ @Test
public void testPacketTrimming10() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -271,6 +286,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(20, ((QueryResultPacket) l.get(2)).getOffset());
}
+ @Test
public void testPacketTrimming11() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -298,6 +314,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(2, w.getResultPackets().size());
}
+ @Test
public void testPacketTrimming12() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -319,6 +336,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(16, ((QueryResultPacket) l.get(2)).getOffset());
}
+ @Test
public void testPacketTrimming13() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -341,6 +359,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(16, ((QueryResultPacket) l.get(3)).getOffset());
}
+ @Test
public void testPacketTrimming14() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 100);
@@ -363,6 +382,7 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
assertEquals(16, ((QueryResultPacket) l.get(3)).getOffset());
}
+ @Test
public void testZeroHits() {
CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
PacketWrapper w = createResult(key, 0, 10, 0);
@@ -405,4 +425,5 @@ public class PacketWrapperTestCase extends junit.framework.TestCase {
}
return r;
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java
index 867a8d7df83..8fae318e97f 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java
@@ -1,11 +1,9 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.fastsearch.test;
-
import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.fs4.QueryPacket;
-import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
import com.yahoo.prelude.fastsearch.CacheKey;
import com.yahoo.prelude.fastsearch.FastHit;
@@ -17,16 +15,21 @@ import com.yahoo.search.rendering.RendererRegistry;
import com.yahoo.search.result.ErrorHit;
import com.yahoo.search.result.ErrorMessage;
import com.yahoo.search.searchchain.Execution;
+import org.junit.Test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
/**
* @author havardpe
*/
-@SuppressWarnings("deprecation")
-public class PartialFillTestCase extends junit.framework.TestCase {
+public class PartialFillTestCase {
public static class FS4 extends VespaBackEndSearcher {
public List<Result> history = new ArrayList<>();
@@ -49,10 +52,7 @@ public class PartialFillTestCase extends junit.framework.TestCase {
}
}
- public PartialFillTestCase(String name) {
- super(name);
- }
-
+ @Test
public void testPartitioning() {
FS4 fs4 = new FS4();
Query a = new Query("/?query=foo");
@@ -109,6 +109,7 @@ public class PartialFillTestCase extends junit.framework.TestCase {
assertEquals(2, fs4.history.get(3).getHitCount());
}
+ @Test
public void testMergeErrors() {
BadFS4 fs4 = new BadFS4();
Query a = new Query("/?query=foo");
diff --git a/container-search/src/test/java/com/yahoo/prelude/hitfield/XmlRendererTestCase.java b/container-search/src/test/java/com/yahoo/prelude/hitfield/XmlRendererTestCase.java
index 1dddf8f9378..185ec2bdb83 100644
--- a/container-search/src/test/java/com/yahoo/prelude/hitfield/XmlRendererTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/hitfield/XmlRendererTestCase.java
@@ -2,11 +2,13 @@
package com.yahoo.prelude.hitfield;
import com.yahoo.data.access.simple.Value;
-import com.yahoo.data.access.Inspector;
-import com.yahoo.data.access.Type;
+import org.junit.Test;
-public class XmlRendererTestCase extends junit.framework.TestCase {
+import static org.junit.Assert.assertEquals;
+public class XmlRendererTestCase {
+
+ @Test
public void testWeightedSet1() {
Value.ArrayValue top = new Value.ArrayValue();
top
@@ -20,9 +22,6 @@ public class XmlRendererTestCase extends junit.framework.TestCase {
.add(new Value.StringValue("espen"))
.add(new Value.LongValue(30)));
String rendered = XmlRenderer.render(new StringBuilder(), top).toString();
-//System.err.println("rendered >>>");
-//System.err.println(rendered);
-//System.err.println("<<< rendered");
String correct = "\n"
+ " <item weight=\"10\">per</item>\n"
+ " <item weight=\"20\">paal</item>\n"
@@ -31,6 +30,7 @@ public class XmlRendererTestCase extends junit.framework.TestCase {
assertEquals(correct, rendered);
}
+ @Test
public void testWeightedSet2() {
Value.ObjectValue top = new Value.ObjectValue();
top
@@ -55,9 +55,6 @@ public class XmlRendererTestCase extends junit.framework.TestCase {
.put("weight",new Value.LongValue(30))
.put("item",new Value.StringValue("espen"))));
String rendered = XmlRenderer.render(new StringBuilder(), top).toString();
-//System.err.println("rendered >>>");
-//System.err.println(rendered);
-//System.err.println("<<< rendered");
String correct = "\n"
+ " <struct-field name=\"foo\">\n"
+ " <item weight=\"10\">per</item>\n"
diff --git a/container-search/src/test/java/com/yahoo/prelude/hitfield/test/HitFieldTestCase.java b/container-search/src/test/java/com/yahoo/prelude/hitfield/test/HitFieldTestCase.java
index 98bab83f28a..c6fb47bae1b 100644
--- a/container-search/src/test/java/com/yahoo/prelude/hitfield/test/HitFieldTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/hitfield/test/HitFieldTestCase.java
@@ -6,6 +6,9 @@ import java.util.List;
import com.yahoo.prelude.hitfield.HitField;
import com.yahoo.prelude.hitfield.StringFieldPart;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
/**
* Tests the HitField class
@@ -13,12 +16,9 @@ import com.yahoo.prelude.hitfield.StringFieldPart;
* @author Lars Chr Jensen
*/
@SuppressWarnings({"unchecked", "rawtypes"})
-public class HitFieldTestCase extends junit.framework.TestCase {
-
- public HitFieldTestCase (String name) {
- super(name);
- }
+public class HitFieldTestCase {
+ @Test
public void testHitField() {
HitField hf = new HitField("boo", "hei paa deg");
assertEquals(3, hf.getTokenizedContent().size());
@@ -31,6 +31,7 @@ public class HitFieldTestCase extends junit.framework.TestCase {
assertEquals("hei paa deg", hf.getRawContent());
}
+ @Test
public void testCjk() {
HitField hf = new HitField("boo", "hmm\u001fgr");
assertEquals(2, hf.getTokenizedContent().size());
@@ -42,6 +43,7 @@ public class HitFieldTestCase extends junit.framework.TestCase {
assertEquals("foobar", hf.getContent());
}
+ @Test
public void testAnnotateField() {
HitField hf = new HitField("boo", "The <hi>Eclipse</hi> SDK \uFFF9include\uFFFAincludes\uFFFB the <hi>Eclipse</hi> Platform");
assertEquals(11, hf.getTokenizedContent().size());
@@ -67,12 +69,12 @@ public class HitFieldTestCase extends junit.framework.TestCase {
assertEquals(6, hf.getTokenizedContent().size());
hf = new HitField("boo", "The <hi>Eclipse</hi> SDK \uFFF9include\uFFFAincludes\uFFFB the <hi>Eclipse</hi> \uFFF9platform\uFFFAPlatforms\uFFFB test");
assertEquals(12, hf.getTokenizedContent().size());
-
-
- //hf = new HitField("boo", "The <hi>Eclipse</hi> SDK \uFFF9include\uFFFAincludes\uFFFB the <hi>Eclipse</hi> Platform");
}
+
+ @Test
public void testEmptyField() {
HitField hf = new HitField("boo", "");
assertEquals(0, hf.getTokenizedContent().size());
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/hitfield/test/JSONStringTestCase.java b/container-search/src/test/java/com/yahoo/prelude/hitfield/test/JSONStringTestCase.java
index 3b75172c470..09a439c7bc9 100644
--- a/container-search/src/test/java/com/yahoo/prelude/hitfield/test/JSONStringTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/hitfield/test/JSONStringTestCase.java
@@ -8,15 +8,21 @@ import com.yahoo.data.access.Inspector;
import com.yahoo.data.access.Type;
import com.yahoo.slime.Slime;
import com.yahoo.slime.Cursor;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* Tests the JSONString XML rendering.
*
* TODO: Add correct answers. These are not added because this code was checked in before sync with system test
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
-public class JSONStringTestCase extends junit.framework.TestCase {
+public class JSONStringTestCase {
+
+ @Test
public void testWeightedSet() {
String json = "[[{\"as1\":[\"per\",\"paal\"],\"l1\":1122334455667788997,\"d1\":87.790001,\"i1\":7,\"al1\":[11223344556677881,11223344556677883],\"s1\":\"string\\n"
+ "espa\u00F1a\\n"
@@ -65,6 +71,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
}
+ @Test
public void testWeightedSetFromInspector() {
Value.ArrayValue top = new Value.ArrayValue();
top.add(new Value.ArrayValue()
@@ -138,7 +145,6 @@ public class JSONStringTestCase extends junit.framework.TestCase {
.add(new Value.StringValue("s2"))
.add(new Value.LongValue(20)));
js = new JSONString(top);
-// System.err.println("js.toString() is: >>>" + js.toString() + "<<<");
correct = "\n" +
" <item weight=\"10\">s1</item>\n" +
" <item weight=\"20\">s2</item>\n" +
@@ -146,6 +152,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
assertEquals(correct, js.renderFromInspector());
}
+ @Test
public void testStruct() {
{
String json = "{\"as1\":[\"per\",\"paal\"],\"l1\":1122334455667788991,\"d1\":81.790001,\"i1\":1,\"al1\":[11223344556677881,11223344556677883],\"s1\":\"string\\n"
@@ -410,6 +417,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testMap() {
String json = "[{\"key\":\"k1\",\"value\":\"v1\"},{\"key\":\"k2\",\"value\":\"v2\"}]";
JSONString js = new JSONString(json);
@@ -429,6 +437,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
assertEquals(correct, js.renderFromInspector());
}
+ @Test
public void testWithData() {
byte[] d1 = { (byte)0x41, (byte)0x42, (byte)0x43 };
byte[] d2 = { (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x02 };
@@ -459,6 +468,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
assertEquals(correct, js.renderFromInspector());
}
+ @Test
public void testArrayOfArray() {
String json = "[[\"c1\", 0], [\"c2\", 2, 3], [\"c3\", 3, 4, 5], [\"c4\", 4,5,6,7]]";
JSONString js = new JSONString(json);
@@ -488,6 +498,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
assertEquals(7, outer.entry(3).entry(4).asLong());
}
+ @Test
public void testSimpleArrays() {
String json = "[1, 2, 3]";
JSONString js = new JSONString(json);
@@ -528,6 +539,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
assertEquals(correct, js.renderFromInspector());
}
+ @Test
public void testArrayOfStruct() {
String json = "[{\"as1\":[\"per\",\"paal\"],"
+ "\"l1\":1122334455667788994,\"d1\":74.790001,"
@@ -667,14 +679,12 @@ public class JSONStringTestCase extends junit.framework.TestCase {
***/
+ @Test
public void testArrayOfStructWithMap() {
String json = "[{\"asf\":\"here is 1st simple string field\",\"map\":[{\"key\":\"one key string\",\"value\":[\"one value string\",\"embedded array\"]},{\"key\":\"two key string\",\"value\":[\"two value string\",\"embedded array\"]}],\"sf2\":\"here is 2nd simple string field\"},{\"asf\":\"here is 3rd simple string field\",\"map\":[{\"key\":\"three key string\",\"value\":[\"three value string\",\"embedded array\"]},{\"key\":\"four key string\",\"value\":[\"four value string\",\"embedded array\"]}],\"sf2\":\"here is 4th simple string field\"}]";
JSONString js = new JSONString(json);
- // System.err.println("got:>>>");
- // System.err.println(js.toString());
- // System.err.println("<<<:got");
String correct = "\n"
+ " <item>\n"
+ " <struct-field name=\"asf\">here is 1st simple string field</struct-field>\n"
@@ -737,18 +747,15 @@ public class JSONStringTestCase extends junit.framework.TestCase {
.add("embedded array"))))
.put("sf2", "here is 4th simple string field"));
js = new JSONString(top);
-// System.err.println(">>>"+js.renderFromInspector()+"<<<");
assertEquals(correct, js.renderFromInspector());
}
+ @Test
public void testArrayOfStructWithEmptyMap() {
String json = "[{\"asf\":\"here is 1st simple string field\",\"map\":[],\"sf2\":\"here is 2nd simple string field\"},{\"asf\":\"here is 3rd simple string field\",\"map\":[],\"sf2\":\"here is 4th simple string field\"}]";
JSONString js = new JSONString(json);
- // System.err.println("got:>>>");
- // System.err.println(js.toString());
- // System.err.println("<<<:got");
String correct = "\n"
+ " <item>\n"
+ " <struct-field name=\"asf\">here is 1st simple string field</struct-field>\n"
@@ -773,12 +780,10 @@ public class JSONStringTestCase extends junit.framework.TestCase {
.put("map", new Value.ArrayValue())
.put("sf2", "here is 4th simple string field"));
js = new JSONString(top);
-// System.err.println(">>>"+js.renderFromInspector()+"<<<");
assertEquals(correct, js.renderFromInspector());
}
-
private Inspector getSlime1() {
Slime slime = new Slime();
slime.setNix();
@@ -809,6 +814,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
return new SlimeAdapter(slime.get());
}
+ @Test
public void testInspectorToContentMapping() {
String content1 = new JSONString(getSlime1()).getContent();
String content2 = new JSONString(getSlime2()).getContent();
@@ -822,6 +828,7 @@ public class JSONStringTestCase extends junit.framework.TestCase {
assertEquals("[1,2,3]", content5);
}
+ @Test
public void testContentToInspectorMapping() {
Inspector value1 = new JSONString("").inspect();
Inspector value2 = new JSONString("foo").inspect();
@@ -859,4 +866,5 @@ public class JSONStringTestCase extends junit.framework.TestCase {
assertEquals(3L, value6.entry(2).asLong());
assertEquals("[1,2,3]", value6.toString());
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/hitfield/test/TokenFieldIteratorTestCase.java b/container-search/src/test/java/com/yahoo/prelude/hitfield/test/TokenFieldIteratorTestCase.java
index f975dd1aba0..9a16cddb362 100644
--- a/container-search/src/test/java/com/yahoo/prelude/hitfield/test/TokenFieldIteratorTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/hitfield/test/TokenFieldIteratorTestCase.java
@@ -6,19 +6,18 @@ import java.util.ListIterator;
import com.yahoo.prelude.hitfield.FieldPart;
import com.yahoo.prelude.hitfield.HitField;
import com.yahoo.prelude.hitfield.StringFieldPart;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
/**
* Tests the FieldTokenIterator class
*
* @author Steinar Knutsen
*/
-public class TokenFieldIteratorTestCase extends junit.framework.TestCase {
-
- public TokenFieldIteratorTestCase (String name) {
- super(name);
- }
+public class TokenFieldIteratorTestCase {
+ @Test
public void testTokenIteratorNext() {
HitField hf = new HitField("boo", "hei paa deg");
assertEquals(3, hf.getTokenizedContent().size());
@@ -31,6 +30,8 @@ public class TokenFieldIteratorTestCase extends junit.framework.TestCase {
assertEquals("deg", p.getContent());
assertEquals(false, l.hasNext());
}
+
+ @Test
public void testTokenIteratorPrevious() {
HitField hf = new HitField("boo", "hei paa");
ListIterator<?> l = hf.tokenIterator();
@@ -43,6 +44,8 @@ public class TokenFieldIteratorTestCase extends junit.framework.TestCase {
p = (FieldPart)l.previous();
assertEquals("hei", p.getContent());
}
+
+ @Test
public void testTokenIteratorSet() {
HitField hf = new HitField("boo", "hei paa deg");
assertEquals(3, hf.getTokenizedContent().size());
@@ -56,6 +59,8 @@ public class TokenFieldIteratorTestCase extends junit.framework.TestCase {
l.set(new StringFieldPart("ged", true));
assertEquals("hei aap ged", hf.getContent());
}
+
+ @Test
public void testTokenIteratorAdd() {
HitField hf = new HitField("boo", "hei paa deg");
assertEquals(3, hf.getTokenizedContent().size());
@@ -69,6 +74,8 @@ public class TokenFieldIteratorTestCase extends junit.framework.TestCase {
assertEquals(false, l.hasNext());
assertEquals("ahei paab degc", hf.getContent());
}
+
+ @Test
public void testTokenIteratorRemove() {
HitField hf = new HitField("boo", "hei paa deg");
ListIterator<FieldPart> l = hf.tokenIterator();
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/ExactMatchAndDefaultIndexTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/ExactMatchAndDefaultIndexTestCase.java
index 5e4fd9f8921..a8eeaeda2a0 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/ExactMatchAndDefaultIndexTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/ExactMatchAndDefaultIndexTestCase.java
@@ -1,27 +1,25 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.query.parser.test;
-
import com.yahoo.prelude.Index;
import com.yahoo.prelude.IndexFacts;
import com.yahoo.search.Query;
import com.yahoo.search.searchchain.Execution;
-import com.yahoo.search.test.QueryTestCase;
+import org.junit.Test;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
+import static org.junit.Assert.assertEquals;
+
/**
* Check default index propagates correctly to the tokenizer.
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
-public class ExactMatchAndDefaultIndexTestCase extends junit.framework.TestCase {
-
- public ExactMatchAndDefaultIndexTestCase(String name) {
- super(name);
- }
+public class ExactMatchAndDefaultIndexTestCase {
+ @Test
public void testExactMatchTokenization() {
Index index = new Index("testexact");
index.setExact(true, null);
@@ -34,8 +32,7 @@ public class ExactMatchAndDefaultIndexTestCase extends junit.framework.TestCase
assertEquals("AND \"a b\" \"foo com\"", q.getModel().getQueryTree().getRoot().toString());
}
- // From Flickr, which had problems with this as they didn't use a default-index
- // (query is dog & cat)
+ @Test
public void testDefaultIndexSpecialChars() {
Query q = new Query("?query=" + enc("dog & cat") + "&default-index=textsearch");
assertEquals("AND textsearch:dog textsearch:cat", q.getModel().getQueryTree().getRoot().toString());
@@ -50,5 +47,3 @@ public class ExactMatchAndDefaultIndexTestCase extends junit.framework.TestCase
}
}
-
-
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java
index d92792230d3..778802e065c 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/TokenizerTestCase.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.query.parser.test;
-import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
import com.yahoo.prelude.Index;
import com.yahoo.prelude.IndexFacts;
@@ -9,21 +8,38 @@ import com.yahoo.prelude.query.parser.SpecialTokenRegistry;
import com.yahoo.prelude.query.parser.SpecialTokens;
import com.yahoo.prelude.query.parser.Token;
import com.yahoo.prelude.query.parser.Tokenizer;
+import org.junit.Test;
import java.util.Collections;
import java.util.List;
-import static com.yahoo.prelude.query.parser.Token.Kind.*;
+import static com.yahoo.prelude.query.parser.Token.Kind.COLON;
+import static com.yahoo.prelude.query.parser.Token.Kind.COMMA;
+import static com.yahoo.prelude.query.parser.Token.Kind.DOT;
+import static com.yahoo.prelude.query.parser.Token.Kind.EXCLAMATION;
+import static com.yahoo.prelude.query.parser.Token.Kind.LBRACE;
+import static com.yahoo.prelude.query.parser.Token.Kind.NOISE;
+import static com.yahoo.prelude.query.parser.Token.Kind.NUMBER;
+import static com.yahoo.prelude.query.parser.Token.Kind.PLUS;
+import static com.yahoo.prelude.query.parser.Token.Kind.RBRACE;
+import static com.yahoo.prelude.query.parser.Token.Kind.SPACE;
+import static com.yahoo.prelude.query.parser.Token.Kind.STAR;
+import static com.yahoo.prelude.query.parser.Token.Kind.UNDERSCORE;
+import static com.yahoo.prelude.query.parser.Token.Kind.WORD;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* Tests the tokenizer
*
* @author bratseth
*/
-public class TokenizerTestCase extends junit.framework.TestCase {
+public class TokenizerTestCase {
private SpecialTokenRegistry defaultRegistry = new SpecialTokenRegistry("file:src/test/java/com/yahoo/prelude/query/parser/test/replacingtokens.cfg");
+ @Test
public void testPlainTokenization() {
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
@@ -53,12 +69,14 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(NUMBER, "1"), tokens.get(20));
}
+ @Test
public void testOutsideBMPCodepoints() {
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
List<?> tokens = tokenizer.tokenize("\ud841\udd47");
assertEquals(new Token(WORD, "\ud841\udd47"), tokens.get(0));
}
+ @Test
public void testOneSpecialToken() {
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
@@ -68,6 +86,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(WORD, "c++"), tokens.get(0));
}
+ @Test
public void testSpecialTokenCombination() {
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
@@ -95,6 +114,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
* In cjk languages, special tokens must be recognized as substrings of strings not
* separated by space, as special token recognition happens before tokenization
*/
+ @Test
public void testSpecialTokenCJK() {
assertEquals("Special tokens configured", 6, defaultRegistry.getSpecialTokens("default").size());
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
@@ -120,6 +140,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(WORD, "knuwww"), tokens.get(15));
}
+ @Test
public void testSpecialTokenCaseInsensitive() {
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
@@ -135,6 +156,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(WORD, "great"), tokens.get(6));
}
+ @Test
public void testSpecialTokenNonMatch() {
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
@@ -159,33 +181,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(WORD, ".net"), tokens.get(15));
}
- // Re-add if underscore becomes some sort of word character again
- // public void testUnderscores() {
- // Tokenizer tokenizer = new Tokenizer(linguistics);
- // List<Token> tokens = tokenizer.tokenize("_a __a ___a ____a");
- // assertEquals("<WORD>: _a, \" \": , <WORD>: __a, \" \": , <WORD>: ___a, \" \": , <NOISE>: ____, <WORD>: a, <EOF>: <EOF>",
- // Tokenizer.formatTokenList(tokens));
- // tokens = tokenizer.tokenize("a_b a__b a___b a____b");
- // assertEquals("<WORD>: a_b, \" \": , <WORD>: a__b, \" \": , <WORD>: a___b, \" \": , <WORD>: a, <NOISE>: ____, <WORD>: b, <EOF>: <EOF>",
- // Tokenizer.formatTokenList(tokens));
- // tokens = tokenizer.tokenize("a_ a__ a___ a____");
- // assertEquals("<WORD>: a_, \" \": , <WORD>: a__, \" \": , <WORD>: a___, \" \": , <WORD>: a, <NOISE>: ____, <EOF>: <EOF>",
- // Tokenizer.formatTokenList(tokens));
- // tokens = tokenizer.tokenize("_a_ __a__ ___a___ ____a____");
- // assertEquals("<WORD>: _a_, \" \": , <WORD>: __a__, \" \": , <WORD>: ___a___, \" \": , <NOISE>: ____, <WORD>: a, <NOISE>: ____, <EOF>: <EOF>",
- // Tokenizer.formatTokenList(tokens));
- // tokens = tokenizer.tokenize("____a___ ___a____");
- // assertEquals("<NOISE>: ____, <WORD>: a___, \" \": , <WORD>: ___a, <NOISE>: ____, <EOF>: <EOF>",
- // Tokenizer.formatTokenList(tokens));
- // tokens = tokenizer.tokenize("_ __ ___ ____");
- // assertEquals("<NOISE>: _, \" \": , <NOISE>: __, \" \": , <NOISE>: ___, \" \": , <NOISE>: ____, <EOF>: <EOF>",
- // Tokenizer.formatTokenList(tokens));
- // tokens = tokenizer.tokenize("_a_ba__ba____ba____b");
- // assertEquals("<WORD>: _a_ba__ba, <NOISE>: ____, <WORD>: ba, <NOISE>: ____, <WORD>: b, <EOF>: <EOF>",
- // Tokenizer.formatTokenList(tokens));
- // SpecialTokenRegistry.set(new SpecialTokenRegistry()); // Reset
- // }
-
+ @Test
public void testSpecialTokenConfigurationDefault() {
String tokenFile = "file:src/test/java/com/yahoo/prelude/query/parser/test/specialtokens.cfg";
@@ -219,6 +215,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(WORD, "b.s.d."), tokens.get(14));
}
+ @Test
public void testSpecialTokenConfigurationOther() {
String tokenFile = "file:src/test/java/com/yahoo/prelude/query/parser/test/specialtokens.cfg";
@@ -262,6 +259,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertTrue(((Token) tokens.get(10)).isSpecial());
}
+ @Test
public void testSpecialTokenConfigurationMissing() {
String tokenFile = "file:source/bogus/specialtokens.cfg";
@@ -277,6 +275,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(PLUS, "+"), tokens.get(2));
}
+ @Test
public void testTokenReplacing() {
assertEquals("Special tokens configured", 6, defaultRegistry.getSpecialTokens("default").size());
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
@@ -303,6 +302,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertFalse(((Token) tokens.get(12)).isSpecial());
}
+ @Test
public void testExactMatchTokenization() {
Index index1=new Index("testexact1");
index1.setExact(true,null);
@@ -342,6 +342,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertTrue(((Token) tokens.get(17)).isSpecial());
}
+ @Test
public void testExactMatchTokenizationTerminatorTerminatesQuery() {
Index index1=new Index("testexact1");
index1.setExact(true,null);
@@ -374,6 +375,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertTrue(((Token) tokens.get(17)).isSpecial());
}
+ @Test
public void testExactMatchTokenizationWithTerminatorTerminatedByEndOfString() {
Index index1=new Index("testexact1");
index1.setExact(true,null);
@@ -406,6 +408,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertTrue(((Token) tokens.get(17)).isSpecial());
}
+ @Test
public void testExactMatchTokenizationEndsByColon() {
Index index1=new Index("testexact1");
index1.setExact(true,null);
@@ -439,6 +442,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(COLON, ":"), tokens.get(19));
}
+ @Test
public void testExactMatchHeuristics() {
Index index1=new Index("testexact1");
index1.setExact(true, null);
@@ -710,6 +714,7 @@ public class TokenizerTestCase extends junit.framework.TestCase {
assertEquals(new Token(WORD, "bar"), tokens.get(9));
}
+ @Test
public void testSingleQuoteAsWordCharacter() {
Tokenizer tokenizer = new Tokenizer(new SimpleLinguistics());
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/WashPhrasesTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/WashPhrasesTestCase.java
index fb9fbe0d2df..7de9f9b5855 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/WashPhrasesTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/WashPhrasesTestCase.java
@@ -1,26 +1,31 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.query.parser.test;
-
-import com.yahoo.prelude.query.*;
+import com.yahoo.prelude.query.AndItem;
+import com.yahoo.prelude.query.CompositeItem;
+import com.yahoo.prelude.query.Item;
+import com.yahoo.prelude.query.NullItem;
+import com.yahoo.prelude.query.PhraseItem;
+import com.yahoo.prelude.query.WordItem;
import com.yahoo.prelude.query.parser.AbstractParser;
import com.yahoo.search.Query;
import com.yahoo.search.query.parser.Parsable;
import com.yahoo.search.query.parser.Parser;
import com.yahoo.search.query.parser.ParserEnvironment;
import com.yahoo.search.query.parser.ParserFactory;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
/**
* Tests guards against in single item phrases.
*
* @author Steinar Knutsen
*/
-public class WashPhrasesTestCase extends junit.framework.TestCase {
-
- public WashPhrasesTestCase(String name) {
- super(name);
- }
+public class WashPhrasesTestCase {
+ @Test
public void testSimplePositive() {
PhraseItem root = new PhraseItem();
@@ -28,6 +33,7 @@ public class WashPhrasesTestCase extends junit.framework.TestCase {
assertEquals("abc", transformQuery(root));
}
+ @Test
public void testPositive1() {
AndItem root = new AndItem();
@@ -40,6 +46,7 @@ public class WashPhrasesTestCase extends junit.framework.TestCase {
assertEquals("AND a bcd e", transformQuery(root));
}
+ @Test
public void testPositive2() {
AndItem root = new AndItem();
@@ -56,17 +63,21 @@ public class WashPhrasesTestCase extends junit.framework.TestCase {
assertEquals("AND a (AND bcd def) e", transformQuery(root));
}
+ @Test
public void testNoTerms() {
assertNull(transformQuery("\"\""));
}
+ @Test
public void testNegative1() {
assertEquals("\"abc def\"", transformQuery("\"abc def\""));
}
+ @Test
public void testNegative2() {
assertEquals("AND a \"abc def\" b", transformQuery("a \"abc def\" b"));
}
+ @Test
public void testNegative3() {
AndItem root = new AndItem();
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/ItemEncodingTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/ItemEncodingTestCase.java
index ee052d39e40..1b88a069c4b 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/test/ItemEncodingTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/test/ItemEncodingTestCase.java
@@ -1,32 +1,40 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.query.test;
+import com.yahoo.prelude.query.AndItem;
+import com.yahoo.prelude.query.EquivItem;
+import com.yahoo.prelude.query.MarkerWordItem;
+import com.yahoo.prelude.query.NearItem;
+import com.yahoo.prelude.query.ONearItem;
+import com.yahoo.prelude.query.PureWeightedInteger;
+import com.yahoo.prelude.query.PureWeightedString;
+import com.yahoo.prelude.query.WeakAndItem;
+import com.yahoo.prelude.query.WordItem;
+import org.junit.Test;
import java.nio.ByteBuffer;
-import com.yahoo.prelude.query.*;
-
+import static org.junit.Assert.assertEquals;
/**
* Item encoding tests
*
* @author bratseth
*/
-public class ItemEncodingTestCase extends junit.framework.TestCase {
-
- public ItemEncodingTestCase(String name) {
- super(name);
- }
+public class ItemEncodingTestCase {
private void assertType(ByteBuffer buffer, int etype, int features) {
byte type = buffer.get();
assertEquals("Code", etype, type & 0x1f);
assertEquals("Features", features, (type & 0xe0) >> 5);
}
+
private void assertWeight(ByteBuffer buffer, int weight) {
int w = (weight > (1 << 5)) ? buffer.getShort() & 0x3fff: buffer.get();
assertEquals("Weight", weight, w);
}
+
+ @Test
public void testWordItemEncoding() {
WordItem word = new WordItem("test");
@@ -50,6 +58,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertEquals('t', buffer.get());
}
+ @Test
public void testStartHostMarkerEncoding() {
WordItem word = MarkerWordItem.createStartOfHost();
ByteBuffer buffer = ByteBuffer.allocate(128);
@@ -75,6 +84,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertEquals('T', buffer.get());
}
+ @Test
public void testEndHostMarkerEncoding() {
WordItem word = MarkerWordItem.createEndOfHost();
@@ -99,6 +109,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertEquals('T', buffer.get());
}
+ @Test
public void testFilterWordItemEncoding() {
WordItem word = new WordItem("test");
@@ -122,6 +133,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertEquals('t', buffer.get());
}
+ @Test
public void testNoRankedNoPositionDataWordItemEncoding() {
WordItem word = new WordItem("test");
word.setRanked(false);
@@ -146,6 +158,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertEquals('t', buffer.get());
}
+ @Test
public void testAndItemEncoding() {
WordItem a = new WordItem("a");
WordItem b = new WordItem("b");
@@ -168,6 +181,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertWord(buffer,"b");
}
+ @Test
public void testNearItemEncoding() {
WordItem a = new WordItem("a");
WordItem b = new WordItem("b");
@@ -191,6 +205,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertWord(buffer,"b");
}
+ @Test
public void testONearItemEncoding() {
WordItem a = new WordItem("a");
WordItem b = new WordItem("b");
@@ -213,6 +228,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertWord(buffer,"b");
}
+ @Test
public void testEquivItemEncoding() {
WordItem a = new WordItem("a");
WordItem b = new WordItem("b");
@@ -234,6 +250,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertWord(buffer, "b");
}
+ @Test
public void testWandItemEncoding() {
WordItem a = new WordItem("a");
WordItem b = new WordItem("b");
@@ -257,6 +274,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertWord(buffer, "b");
}
+ @Test
public void testPureWeightedStringEncoding() {
PureWeightedString a = new PureWeightedString("a");
ByteBuffer buffer = ByteBuffer.allocate(128);
@@ -268,6 +286,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertString(buffer, a.getString());
}
+ @Test
public void testPureWeightedStringEncodingWithNonDefaultWeight() {
PureWeightedString a = new PureWeightedString("a", 7);
ByteBuffer buffer = ByteBuffer.allocate(128);
@@ -280,6 +299,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertString(buffer, a.getString());
}
+ @Test
public void testPureWeightedIntegerEncoding() {
PureWeightedInteger a = new PureWeightedInteger(23432568763534865l);
ByteBuffer buffer = ByteBuffer.allocate(128);
@@ -291,6 +311,7 @@ public class ItemEncodingTestCase extends junit.framework.TestCase {
assertEquals("Value", a.getValue(), buffer.getLong());
}
+ @Test
public void testPureWeightedLongEncodingWithNonDefaultWeight() {
PureWeightedInteger a = new PureWeightedInteger(23432568763534865l, 7);
ByteBuffer buffer = ByteBuffer.allocate(128);
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/PhraseItemTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/PhraseItemTestCase.java
index 5bd978417d8..a239db88b54 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/test/PhraseItemTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/test/PhraseItemTestCase.java
@@ -4,18 +4,18 @@ package com.yahoo.prelude.query.test;
import com.yahoo.prelude.query.PhraseItem;
import com.yahoo.prelude.query.PhraseSegmentItem;
import com.yahoo.prelude.query.WordItem;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
/**
* Test methods changing phrase items.
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
-public class PhraseItemTestCase extends junit.framework.TestCase {
-
- public PhraseItemTestCase(String name) {
- super(name);
- }
+public class PhraseItemTestCase {
+ @Test
public void testAddItem() {
PhraseItem p = new PhraseItem();
PhraseSegmentItem pp = new PhraseSegmentItem("", false, false);
@@ -31,6 +31,7 @@ public class PhraseItemTestCase extends junit.framework.TestCase {
assertEquals("\"a 'b c' d e f\"", p.toString());
}
+ @Test
public void testAddItemWithIndex() {
PhraseItem p = new PhraseItem();
PhraseSegmentItem pp = new PhraseSegmentItem("", false, false);
@@ -46,6 +47,7 @@ public class PhraseItemTestCase extends junit.framework.TestCase {
assertEquals("\"'a b' c d e f\"", p.toString());
}
+ @Test
public void testSetItem() {
PhraseItem backup = new PhraseItem();
PhraseSegmentItem segment = new PhraseSegmentItem("", false, false);
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/PredicateQueryItemTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/PredicateQueryItemTestCase.java
index 5f9d9db5dfa..bdaafc5d132 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/test/PredicateQueryItemTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/test/PredicateQueryItemTestCase.java
@@ -9,13 +9,14 @@ import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Iterator;
-import static junit.framework.Assert.assertEquals;
import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
/**
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
*/
public class PredicateQueryItemTestCase {
+
@Test
public void requireThatItemConstantsAreSet() {
PredicateQueryItem item = new PredicateQueryItem();
@@ -133,4 +134,5 @@ public class PredicateQueryItemTestCase {
assertArrayEquals(expectedPrefix, Arrays.copyOfRange(actual, 0, expectedPrefix.length));
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/QueryLanguageTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/QueryLanguageTestCase.java
index b88ed25a397..aa4d0ed9a0a 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/test/QueryLanguageTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/test/QueryLanguageTestCase.java
@@ -6,6 +6,9 @@ import com.yahoo.prelude.query.NotItem;
import com.yahoo.prelude.query.PhraseItem;
import com.yahoo.prelude.query.WordItem;
import com.yahoo.search.Query;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
/**
* <p>Tests that the correct query language strings are generated for various
@@ -18,18 +21,16 @@ import com.yahoo.search.Query;
*
* @author bratseth
*/
-public class QueryLanguageTestCase extends junit.framework.TestCase {
-
- public QueryLanguageTestCase(String name) {
- super(name);
- }
+public class QueryLanguageTestCase {
+ @Test
public void testWord() {
WordItem w = new WordItem("test");
assertEquals("test", w.toString());
}
+ @Test
public void testWordWithIndex() {
WordItem w = new WordItem("test");
@@ -37,6 +38,7 @@ public class QueryLanguageTestCase extends junit.framework.TestCase {
assertEquals("test.index:test", w.toString());
}
+ @Test
public void testPhrase() {
PhraseItem p = new PhraseItem();
@@ -46,6 +48,7 @@ public class QueryLanguageTestCase extends junit.framework.TestCase {
assertEquals("\"part of phrase\"", p.toString());
}
+ @Test
public void testPhraseWithIndex() {
PhraseItem p = new PhraseItem();
@@ -56,6 +59,7 @@ public class QueryLanguageTestCase extends junit.framework.TestCase {
assertEquals("some.index:\"part of phrase\"", p.toString());
}
+ @Test
public void testNotItem() {
NotItem n = new NotItem();
@@ -65,6 +69,7 @@ public class QueryLanguageTestCase extends junit.framework.TestCase {
assertEquals("+butthis -notthis -andnotthis", n.toString());
}
+ @Test
public void testLanguagesInQueryParameter() {
// Right parameter is the parameter given in the query, as language=
// Left parameter is the language sent to linguistics
@@ -103,4 +108,5 @@ public class QueryLanguageTestCase extends junit.framework.TestCase {
assertEquals("nb_NO", new Query("?query=test&language=nb_NO").getParsingLanguage().languageCode());
*/
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/QueryTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/QueryTestCase.java
index 14900048e04..834a1986ada 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/test/QueryTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/test/QueryTestCase.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.query.test;
-
import com.yahoo.search.Query;
import com.yahoo.prelude.query.CompositeItem;
import com.yahoo.prelude.query.Item;
@@ -9,22 +8,22 @@ import com.yahoo.search.query.parser.Parsable;
import com.yahoo.search.query.parser.Parser;
import com.yahoo.search.query.parser.ParserEnvironment;
import com.yahoo.search.query.parser.ParserFactory;
+import org.junit.Test;
import java.util.Iterator;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* Tests query trees
*
* @author bratseth
*/
-public class QueryTestCase extends junit.framework.TestCase {
-
- public QueryTestCase(String name) {
- super(name);
- }
+public class QueryTestCase {
/** Tests that query hash and equality is value dependent only */
+ @Test
public void testQueryEquality() {
String query = "RANK (+(AND \"baz gaz faz\" bazar) -\"foo bar foobar\") foofoo xyzzy";
String filter = "foofoo -\"foo bar foobar\" xyzzy +\"baz gaz faz\" +bazar";
@@ -37,6 +36,7 @@ public class QueryTestCase extends junit.framework.TestCase {
}
/** Check copy of query trees is a deep copy */
+ @Test
public void testDeepCopy() {
Item root1 = parseQuery("a and b and (c or d) and e rank f andnot g", null, Query.Type.ADVANCED);
Item root2 = root1.clone();
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/WeightedSetItemTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/WeightedSetItemTestCase.java
index dbafaf3cd1b..3d31bc67df1 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/test/WeightedSetItemTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/test/WeightedSetItemTestCase.java
@@ -1,18 +1,23 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.query.test;
-import com.yahoo.prelude.query.*;
+import com.yahoo.prelude.query.CompositeIndexedItem;
+import com.yahoo.prelude.query.Item;
+import com.yahoo.prelude.query.PureWeightedString;
+import com.yahoo.prelude.query.WeightedSetItem;
+import com.yahoo.prelude.query.WordItem;
+import org.junit.Test;
import java.nio.ByteBuffer;
-import com.yahoo.io.HexDump;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
-public class WeightedSetItemTestCase extends junit.framework.TestCase {
-
- public WeightedSetItemTestCase(String name) {
- super(name);
- }
+public class WeightedSetItemTestCase {
+ @Test
public void testTokenAPI() {
WeightedSetItem ws = new WeightedSetItem("index");
assertEquals(0, ws.getNumTokens());
@@ -49,6 +54,7 @@ public class WeightedSetItemTestCase extends junit.framework.TestCase {
assertEquals(2, ws.getNumTokens());
}
+ @Test
public void testNegativeWeight() {
WeightedSetItem ws = new WeightedSetItem("index");
assertEquals(new Integer(-10), ws.addToken("bad", -10));
@@ -70,6 +76,7 @@ public class WeightedSetItemTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testEncoding() {
WeightedSetItem item = new WeightedSetItem("index");
// need 2 alternative reference encoding, as the encoding
@@ -108,4 +115,5 @@ public class WeightedSetItemTestCase extends junit.framework.TestCase {
assertTrue(actual.equals(expect2));
}
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java
index e0a7e0a0f6e..1e0c1400518 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/textualrepresentation/test/TextualQueryRepresentationTestCase.java
@@ -10,11 +10,12 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
-import junit.framework.TestCase;
-
import com.yahoo.prelude.query.Item;
import com.yahoo.prelude.query.textualrepresentation.Discloser;
import com.yahoo.prelude.query.textualrepresentation.TextualQueryRepresentation;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
/**
* Test of TextualQueryRepresentation.
@@ -22,7 +23,8 @@ import com.yahoo.prelude.query.textualrepresentation.TextualQueryRepresentation;
* @author tonytv
*/
@SuppressWarnings({"rawtypes", "unchecked"})
-public class TextualQueryRepresentationTestCase extends TestCase {
+public class TextualQueryRepresentationTestCase {
+
private enum ExampleEnum {
example;
}
@@ -99,12 +101,14 @@ public class TextualQueryRepresentationTestCase extends TestCase {
return new TextualQueryRepresentation(item).toString();
}
+ @Test
public void testBasic() throws Exception {
String basicText = getTextualQueryRepresentation(basic);
assertEquals(getCorrect("basic.txt"), basicText);
}
+ @Test
public void testComposite() throws Exception {
String compositeText = getTextualQueryRepresentation(composite);
assertEquals(getCorrect("composite.txt"), compositeText);
@@ -118,4 +122,5 @@ public class TextualQueryRepresentationTestCase extends TestCase {
result.append(line).append('\n');
return result.toString();
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java
index 4196e23222c..98bd3e8c9e8 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java
@@ -9,30 +9,29 @@ import com.yahoo.prelude.query.PhraseItem;
import com.yahoo.prelude.query.WordItem;
import com.yahoo.prelude.querytransform.CollapsePhraseSearcher;
import com.yahoo.search.searchchain.Execution;
-import com.yahoo.search.test.QueryTestCase;
+import org.junit.Test;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
+import static org.junit.Assert.assertEquals;
+
/**
* Check CollapsePhraseSearcher works and only is triggered when it
* should.
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
-public class CollapsePhraseSearcherTestCase extends junit.framework.TestCase {
-
- public CollapsePhraseSearcherTestCase(String name) {
- super(name);
- }
+public class CollapsePhraseSearcherTestCase {
+ @Test
public void testSimplePositive() {
PhraseItem root = new PhraseItem();
root.addItem(new WordItem("abc"));
- assertEquals("abc",
- transformQuery(root));
+ assertEquals("abc", transformQuery(root));
}
+ @Test
public void testPositive1() {
AndItem root = new AndItem();
root.addItem(new WordItem("a"));
@@ -44,6 +43,7 @@ public class CollapsePhraseSearcherTestCase extends junit.framework.TestCase {
transformQuery(root));
}
+ @Test
public void testPositive2() {
AndItem root = new AndItem();
root.addItem(new WordItem("a"));
@@ -57,14 +57,18 @@ public class CollapsePhraseSearcherTestCase extends junit.framework.TestCase {
assertEquals("AND a (AND bcd def) e",
transformQuery(root));
}
+
+ @Test
public void testNoTerms() {
assertEquals("NULL", transformQuery("?query=" + enc("\"\"")));
}
+ @Test
public void testNegative1() {
assertEquals("\"abc def\"", transformQuery("?query=" + enc("\"abc def\"")));
}
+ @Test
public void testNegative2() {
assertEquals("AND a \"abc def\" b", transformQuery("?query=" + enc("a \"abc def\" b")));
}
@@ -78,6 +82,7 @@ public class CollapsePhraseSearcherTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testNegative3() {
AndItem root = new AndItem();
root.addItem(new WordItem("a"));
@@ -92,6 +97,7 @@ public class CollapsePhraseSearcherTestCase extends junit.framework.TestCase {
assertEquals("AND a (AND bcd \"def ghi\") e",
transformQuery(root));
}
+
private String transformQuery(String rawQuery) {
CollapsePhraseSearcher searcher = new CollapsePhraseSearcher();
Query query = new Query(rawQuery);
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/IndexCombinatorTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/IndexCombinatorTestCase.java
index cba2e7da647..091e2c1772d 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/IndexCombinatorTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/IndexCombinatorTestCase.java
@@ -13,25 +13,23 @@ import com.yahoo.search.Result;
import com.yahoo.search.Searcher;
import com.yahoo.search.searchchain.Execution;
import com.yahoo.search.test.QueryTestCase;
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
/**
* Control query transformations when doing index name expansion in QRS.
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
-public class IndexCombinatorTestCase extends TestCase {
+public class IndexCombinatorTestCase {
private Searcher transformer;
private IndexFacts f;
- public IndexCombinatorTestCase(String arg0) {
- super(arg0);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
transformer = new IndexCombinatorSearcher();
f = new IndexFacts();
f.addIndex("one", "z");
@@ -40,11 +38,7 @@ public class IndexCombinatorTestCase extends TestCase {
f.addIndex("one", i);
}
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
+ @Test
public void testDoNothing() {
Result r = search("?query=z:y");
assertEquals("z:y", r.getQuery().getModel().getQueryTree().getRoot().toString());
@@ -54,11 +48,13 @@ public class IndexCombinatorTestCase extends TestCase {
return new Execution(transformer, Execution.Context.createContextStub(f)).search(new Query(QueryTestCase.httpEncode(query)));
}
+ @Test
public void testBasic() {
Result r = search("?query=y");
assertEquals("OR a:y i:y", r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testBasicPair() {
Result r = search("?query=x y");
assertEquals(
@@ -66,17 +62,20 @@ public class IndexCombinatorTestCase extends TestCase {
.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testBasicTriplet() {
Result r = search("?query=x y z");
assertEquals("AND (OR a:x i:x) (OR a:y i:y) (OR a:z i:z)", r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testBasicMixedSinglet() {
Result r = search("?query=x z:q");
assertEquals("OR (AND a:x z:q) (AND i:x z:q)", r.getQuery().getModel().getQueryTree().getRoot()
.toString());
}
+ @Test
public void testBasicMixedPair() {
Result r = search("?query=x y z:q");
assertEquals(
@@ -84,22 +83,26 @@ public class IndexCombinatorTestCase extends TestCase {
r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testBasicMixedTriplet() {
Result r = search("?query=x y z:q r");
assertEquals("AND (OR a:x i:x) (OR a:y i:y) z:q (OR a:r i:r)", r
.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testBasicOr() {
Result r = search("?query=x y&type=any");
assertEquals("OR a:y i:y a:x i:x", r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testBasicPhrase() {
Result r = search("?query=\"x y\"");
assertEquals("OR a:x y i:x y", r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testPhraseAndTerm() {
Result r = search("?query=\"x y\" z");
assertEquals(
@@ -107,12 +110,14 @@ public class IndexCombinatorTestCase extends TestCase {
r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testBasicNot() {
Result r = search("?query=+x -y");
assertEquals("+(OR a:x i:x) -(OR a:y i:y)", r.getQuery().getModel().getQueryTree().getRoot()
.toString());
}
+ @Test
public void testLessBasicNot() {
Result r = search("?query=a and b andnot c&type=adv");
assertEquals(
@@ -120,6 +125,7 @@ public class IndexCombinatorTestCase extends TestCase {
r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testLongerAndInPositive() {
Result r = search("?query=a and b and c andnot d&type=adv");
assertEquals(
@@ -127,12 +133,14 @@ public class IndexCombinatorTestCase extends TestCase {
.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testTreeInNegativeBranch() {
Result r = search("?query=a andnot (b and c)&type=adv");
assertEquals("+(OR a:a i:a) -(AND (OR a:b i:b) (OR a:c i:c))", r
.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testSomeTerms() {
Result r = search("?query=a b -c +d g.h \"abc def\" z:q");
assertEquals(
@@ -140,6 +148,7 @@ public class IndexCombinatorTestCase extends TestCase {
r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testMixedIndicesAndAttributes() {
String indexInfoConfigID = "file:src/test/java/com/yahoo/prelude/querytransform/test/indexcombinator.cfg";
ConfigGetter<IndexInfoConfig> getter = new ConfigGetter<>(IndexInfoConfig.class);
@@ -162,4 +171,5 @@ public class IndexCombinatorTestCase extends TestCase {
+ " (AND attribute2:a b attribute2:c d)",
r.getQuery().getModel().getQueryTree().getRoot().toString());
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NoRankingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NoRankingSearcherTestCase.java
index 0c26325e96b..d59b2f49562 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NoRankingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NoRankingSearcherTestCase.java
@@ -1,17 +1,19 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.querytransform.test;
-import junit.framework.TestCase;
-
import com.yahoo.search.Query;
import com.yahoo.prelude.querytransform.NoRankingSearcher;
import com.yahoo.search.Searcher;
import com.yahoo.search.searchchain.Execution;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
-public class NoRankingSearcherTestCase extends TestCase {
+public class NoRankingSearcherTestCase {
Searcher s = new NoRankingSearcher();
+ @Test
public void testDoSearch() {
Query q = new Query("?query=a&sorting=%2ba%20-b&ranking=hello");
assertEquals("hello", q.getRanking().getProfile());
@@ -19,21 +21,25 @@ public class NoRankingSearcherTestCase extends TestCase {
assertEquals("unranked", q.getRanking().getProfile());
}
+ @Test
public void testSortOnRelevanceAscending() {
Query q = new Query("?query=a&sorting=%2ba%20-b%20-[rank]&ranking=hello");
new Execution(s, Execution.Context.createContextStub()).search(q);
assertEquals("hello", q.getRanking().getProfile());
}
+ @Test
public void testSortOnRelevanceDescending() {
Query q = new Query("?query=a&sorting=%2ba%20-b%20-[rank]&ranking=hello");
new Execution(s, Execution.Context.createContextStub()).search(q);
assertEquals("hello", q.getRanking().getProfile());
}
+ @Test
public void testNoSorting() {
Query q = new Query("?query=a");
new Execution(s, Execution.Context.createContextStub()).search(q);
assertEquals("default", q.getRanking().getProfile());
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java
index 54b54dfb178..95c8327df01 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java
@@ -7,20 +7,20 @@ import com.yahoo.prelude.query.WordItem;
import com.yahoo.prelude.querytransform.NonPhrasingSearcher;
import com.yahoo.search.Searcher;
import com.yahoo.search.searchchain.Execution;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
/**
* Tests non-phrasing
*
* @author bratseth
*/
-public class NonPhrasingSearcherTestCase extends junit.framework.TestCase {
+public class NonPhrasingSearcherTestCase {
private Searcher searcher;
- public NonPhrasingSearcherTestCase(String name) {
- super(name);
- }
-
+ @Test
public void testSingleWordNonPhrasing() {
searcher=
new NonPhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
@@ -31,6 +31,7 @@ public class NonPhrasingSearcherTestCase extends junit.framework.TestCase {
assertEquals("AND void kanoo", query.getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testMultipleWordNonPhrasing() {
searcher=
new NonPhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
@@ -44,6 +45,7 @@ public class NonPhrasingSearcherTestCase extends junit.framework.TestCase {
assertEquals("kanoo",((WordItem)item.getItem(1)).getWord());
}
+ @Test
public void testNoNonPhrasingIfNoOtherPhrases() {
searcher=
new NonPhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
@@ -57,6 +59,7 @@ public class NonPhrasingSearcherTestCase extends junit.framework.TestCase {
assertEquals("vidor",((WordItem)item.getItem(1)).getWord());
}
+ @Test
public void testNoNonPhrasingIfSuggestOnly() {
searcher=
new NonPhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhraseMatcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhraseMatcherTestCase.java
index 2cb511defce..82193867580 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhraseMatcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhraseMatcherTestCase.java
@@ -5,18 +5,21 @@ import com.yahoo.prelude.query.AndItem;
import com.yahoo.prelude.query.IntItem;
import com.yahoo.prelude.query.WordItem;
import com.yahoo.prelude.querytransform.PhraseMatcher;
+import org.junit.Test;
import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
/**
* @author bratseth
*/
-public class PhraseMatcherTestCase extends junit.framework.TestCase {
-
- public PhraseMatcherTestCase(String name) {
- super(name);
- }
+public class PhraseMatcherTestCase {
+ @Test
public void testSingleItemMatching() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
matcher.setMatchSingleItems(true);
@@ -35,6 +38,7 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertFalse(i.hasNext());
}
+ @Test
public void testSingleItemMatchingCaseInsensitive() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
matcher.setMatchSingleItems(true);
@@ -54,6 +58,7 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertFalse(i.hasNext());
}
+ @Test
public void testSingleItemMatchingWithPluralIgnore() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa",true);
matcher.setMatchSingleItems(true);
@@ -72,6 +77,7 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertFalse(i.hasNext());
}
+ @Test
public void testSingleItemMatchingCaseInsensitiveWithPluralIgnore() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa",true);
matcher.setMatchSingleItems(true);
@@ -91,6 +97,7 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertFalse(i.hasNext());
}
+ @Test
public void testPhraseMatching() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa",true);
AndItem and=new AndItem();
@@ -121,6 +128,7 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertFalse(i.hasNext());
}
+ @Test
public void testPhraseMatchingCaseInsensitive() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa",true);
AndItem and=new AndItem();
@@ -155,6 +163,7 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertFalse(i.hasNext());
}
+ @Test
public void testPhraseMatchingWithNumber() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa",true);
AndItem and=new AndItem();
@@ -185,6 +194,7 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertFalse(i.hasNext());
}
+ @Test
public void testPhraseMatchingWithPluralIgnore() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa",true);
AndItem and=new AndItem();
@@ -215,7 +225,7 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertFalse(i.hasNext());
}
-
+ @Test
public void testPhraseMatchingCaseInsensitiveWithPluralIgnore() {
PhraseMatcher matcher=new PhraseMatcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa",true);
AndItem and=new AndItem();
@@ -249,4 +259,5 @@ public class PhraseMatcherTestCase extends junit.framework.TestCase {
assertEquals("test",i.getReplace());
assertFalse(i.hasNext());
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhrasingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhrasingSearcherTestCase.java
index 33213cccc34..00bb1ca75d0 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhrasingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/PhrasingSearcherTestCase.java
@@ -11,25 +11,22 @@ import com.yahoo.prelude.query.WordItem;
import com.yahoo.prelude.querytransform.PhrasingSearcher;
import com.yahoo.search.Searcher;
import com.yahoo.search.searchchain.Execution;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* Tests phrasing stuff
*
* @author bratseth
- * @author <a href="mailto:einarmr@europe.yahoo-inc.com">Einar M R Rosenvinge</a>
+ * @author Einar M R Rosenvinge
*/
-public class PhrasingSearcherTestCase extends junit.framework.TestCase {
-
- private Searcher searcher;
+public class PhrasingSearcherTestCase {
- public PhrasingSearcherTestCase(String name) {
- super(name);
- }
-
- @SuppressWarnings("deprecation")
+ @Test
public void testTotalPhrasing() {
-
- searcher=
+ Searcher searcher=
new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query=new Query();
@@ -48,10 +45,9 @@ public class PhrasingSearcherTestCase extends junit.framework.TestCase {
assertEquals("someindex",phrase.getIndexName());
}
- @SuppressWarnings("deprecation")
+ @Test
public void testPartialPhrasing() {
-
- searcher=
+ Searcher searcher=
new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query=new Query("?query=void%20tudor%20vidor%20kanoo");
@@ -67,9 +63,9 @@ public class PhrasingSearcherTestCase extends junit.framework.TestCase {
assertEquals("vidor",phrase.getWordItem(1).getWord());
}
+ @Test
public void testPartialPhrasingSuggestOnly() {
-
- searcher=
+ Searcher searcher=
new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query=new Query("?query=void%20tudor%20vidor%20kanoo&suggestonly=true");
@@ -81,9 +77,9 @@ public class PhrasingSearcherTestCase extends junit.framework.TestCase {
assertEquals("kanoo",((WordItem)item.getItem(3)).getWord());
}
+ @Test
public void testNoPhrasingIfDifferentIndices() {
-
- searcher=
+ Searcher searcher=
new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query=new Query();
@@ -104,9 +100,9 @@ public class PhrasingSearcherTestCase extends junit.framework.TestCase {
assertEquals("vidor",word.getWord());
}
+ @Test
public void testMultiplePhrases() {
-
- searcher=
+ Searcher searcher=
new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query=new Query();
@@ -137,9 +133,9 @@ public class PhrasingSearcherTestCase extends junit.framework.TestCase {
assertEquals("AND someindex:tudor someindex:\"tudor vidor\" someindex:vidor (OR tudor (AND anotherindex:\"this is a test\" anotherindex:\"tudor vidor\") vidor)", query.getModel().getQueryTree().getRoot().toString());
}
+ @Test
public void testNoDetection() {
-
- searcher=
+ Searcher searcher=
new PhrasingSearcher("src/test/java/com/yahoo/prelude/querytransform/test/test-fsa.fsa");
Query query=new Query();
@@ -155,8 +151,9 @@ public class PhrasingSearcherTestCase extends junit.framework.TestCase {
}
+ @Test
public void testNoFileNoChange() {
- searcher = new PhrasingSearcher("");
+ Searcher searcher = new PhrasingSearcher("");
Query query=new Query();
AndItem andItem=new AndItem();
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/RecallSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/RecallSearcherTestCase.java
index 4deea7da8cf..ad1c12629c3 100755
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/RecallSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/RecallSearcherTestCase.java
@@ -16,12 +16,19 @@ import com.yahoo.prelude.query.NullItem;
import com.yahoo.prelude.query.WordItem;
import com.yahoo.prelude.querytransform.RecallSearcher;
import com.yahoo.search.searchchain.Execution;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
- * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
+ * @author Simon Thoresen
*/
-public class RecallSearcherTestCase extends junit.framework.TestCase {
+public class RecallSearcherTestCase {
+ @Test
public void testIgnoreEmptyProperty() {
RecallSearcher searcher = new RecallSearcher();
Query query = new Query();
@@ -30,6 +37,7 @@ public class RecallSearcherTestCase extends junit.framework.TestCase {
assertTrue(query.getModel().getQueryTree().getRoot() instanceof NullItem);
}
+ @Test
public void testDenyRankItems() {
RecallSearcher searcher = new RecallSearcher();
Query query = new Query("?recall=foo");
@@ -37,6 +45,7 @@ public class RecallSearcherTestCase extends junit.framework.TestCase {
assertNotNull(result.hits().getError());
}
+ @Test
public void testParse() {
List<String> empty = new ArrayList<>();
assertQueryTree("?query=foo", Arrays.asList("foo"), empty);
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java
index fed97199f1d..4987f9902ce 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/BlendingSearcherTestCase.java
@@ -27,6 +27,12 @@ import com.yahoo.search.result.Hit;
import com.yahoo.search.searchchain.Execution;
import com.yahoo.search.searchchain.SearchChain;
import com.yahoo.search.searchchain.SearchChainRegistry;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
* Tests the BlendingSearcher class
@@ -36,19 +42,16 @@ import com.yahoo.search.searchchain.SearchChainRegistry;
*/
// The SuppressWarnings is to shut up the compiler about using
// deprecated FastHit constructor in the tests.
-@SuppressWarnings({ "unchecked", "rawtypes" })
-public class BlendingSearcherTestCase extends junit.framework.TestCase {
+@SuppressWarnings({ "rawtypes" })
+public class BlendingSearcherTestCase {
- public BlendingSearcherTestCase(String name) {
- super(name);
- }
+ private static final double delta = 0.00000001;
public static class BlendingSearcherWrapper extends Searcher {
private SearchChain blendingChain;
private final FederationConfig.Builder builder = new FederationConfig.Builder();
- private final Map<String, Searcher> searchers
- = new HashMap<>();
+ private final Map<String, Searcher> searchers = new HashMap<>();
private SearchChainRegistry chainRegistry;
private final String blendingDocumentId;
@@ -108,7 +111,7 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
StrictContractsConfig contracts = new StrictContractsConfig(new StrictContractsConfig.Builder());
FederationSearcher fedSearcher =
- new FederationSearcher(new FederationConfig(builder), contracts, new ComponentRegistry<TargetSelector>());
+ new FederationSearcher(new FederationConfig(builder), contracts, new ComponentRegistry<>());
BlendingSearcher blendingSearcher = new BlendingSearcher(blendingDocumentId);
blendingChain = new SearchChain(ComponentId.createAnonymousComponentId("blendingChain"), blendingSearcher, fedSearcher);
return true;
@@ -119,7 +122,7 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
}
}
- @SuppressWarnings("serial")
+ @Test
public void testitTwoPhase() {
DocumentSourceSearcher chain1 = new DocumentSourceSearcher();
@@ -202,6 +205,7 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
}
+ @Test
public void testMultipleBackendsWithDuplicateRemoval() {
DocumentSourceSearcher chain1 = new DocumentSourceSearcher();
DocumentSourceSearcher chain2 = new DocumentSourceSearcher();
@@ -226,6 +230,7 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
assertEquals(101, ((int) cr.hits().get(0).getRelevance().getScore()));
}
+ @Test
public void testMultipleBackendsWithErrorMerging() {
DocumentSourceSearcher chain1 = new DocumentSourceSearcher();
DocumentSourceSearcher chain2 = new DocumentSourceSearcher();
@@ -260,6 +265,7 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
assertEquals(com.yahoo.container.protect.Error.NO_BACKENDS_IN_SERVICE.code, cr.hits().getError().getCode());
}
+ @Test
public void testBlendingWithSortSpec() {
DocumentSourceSearcher chain1 = new DocumentSourceSearcher();
DocumentSourceSearcher chain2 = new DocumentSourceSearcher();
@@ -318,6 +324,7 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
* document sumaries for hits it did not create (it will insert the wrong values).
* But are we sure fsearch handles this case correctly?
*/
+ @Test
public void testBlendingWithSortSpecAnd2Phase() {
DocumentSourceSearcher chain1 = new DocumentSourceSearcher();
DocumentSourceSearcher chain2 = new DocumentSourceSearcher();
@@ -391,47 +398,52 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
return blender;
}
+ @Test
public void testOnlyFirstBackend() {
BlendingSearcherWrapper searcher = setupFirstAndSecond();
Query query = new Query("/search?query=banana&search=first");
Result result = new Execution(searcher, Execution.Context.createContextStub()).search(query);
assertEquals(1, result.getHitCount());
- assertEquals(200.0, result.hits().get(0).getRelevance().getScore());
+ assertEquals(200.0, result.hits().get(0).getRelevance().getScore(), delta);
}
+ @Test
public void testOnlySecondBackend() {
BlendingSearcherWrapper searcher = setupFirstAndSecond();
Query query = new Query("/search?query=banana&search=second");
Result result = new Execution(searcher, Execution.Context.createContextStub()).search(query);
assertEquals(2, result.getHitCount());
- assertEquals(300.0, result.hits().get(0).getRelevance().getScore());
- assertEquals(100.0, result.hits().get(1).getRelevance().getScore());
+ assertEquals(300.0, result.hits().get(0).getRelevance().getScore(), delta);
+ assertEquals(100.0, result.hits().get(1).getRelevance().getScore(), delta);
}
+ @Test
public void testBothBackendsExplicitly() {
BlendingSearcherWrapper searcher = setupFirstAndSecond();
Query query = new Query("/search?query=banana&search=first,second");
Result result = new Execution(searcher, Execution.Context.createContextStub()).search(query);
assertEquals(3, result.getHitCount());
- assertEquals(300.0, result.hits().get(0).getRelevance().getScore());
- assertEquals(200.0, result.hits().get(1).getRelevance().getScore());
- assertEquals(100.0, result.hits().get(2).getRelevance().getScore());
+ assertEquals(300.0, result.hits().get(0).getRelevance().getScore(), delta);
+ assertEquals(200.0, result.hits().get(1).getRelevance().getScore(), delta);
+ assertEquals(100.0, result.hits().get(2).getRelevance().getScore(), delta);
}
+ @Test
public void testBothBackendsImplicitly() {
BlendingSearcherWrapper searcher = setupFirstAndSecond();
Query query = new Query("/search?query=banana");
Result result = new Execution(searcher, Execution.Context.createContextStub()).search(query);
assertEquals(3, result.getHitCount());
- assertEquals(300.0, result.hits().get(0).getRelevance().getScore());
- assertEquals(200.0, result.hits().get(1).getRelevance().getScore());
- assertEquals(100.0, result.hits().get(2).getRelevance().getScore());
+ assertEquals(300.0, result.hits().get(0).getRelevance().getScore(), delta);
+ assertEquals(200.0, result.hits().get(1).getRelevance().getScore(), delta);
+ assertEquals(100.0, result.hits().get(2).getRelevance().getScore(), delta);
}
+ @Test
public void testNonexistingBackendCausesError() {
BlendingSearcherWrapper searcher = setupFirstAndSecond();
Query query = new Query("/search?query=banana&search=nonesuch");
@@ -445,6 +457,7 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
// e.getDetailedMessage());
}
+ @Test
public void testNonexistingBackendsCausesErrorOnFirst() {
// Feel free to change to include all in the detail message...
BlendingSearcherWrapper searcher = setupFirstAndSecond();
@@ -460,21 +473,21 @@ public class BlendingSearcherTestCase extends junit.framework.TestCase {
e.toString());
}
+ @Test
public void testExistingAndNonExistingBackendCausesBothErrorAndResult() {
BlendingSearcherWrapper searcher = setupFirstAndSecond();
Query query = new Query("/search?query=banana&search=first,nonesuch,second");
Result result = new Execution(searcher, Execution.Context.createContextStub(new IndexFacts())).search(query);
assertEquals(3, result.getConcreteHitCount());
- assertEquals(300.0, result.hits().get(1).getRelevance().getScore());
- assertEquals(200.0, result.hits().get(2).getRelevance().getScore());
- assertEquals(100.0, result.hits().get(3).getRelevance().getScore());
+ assertEquals(300.0, result.hits().get(1).getRelevance().getScore(), delta);
+ assertEquals(200.0, result.hits().get(2).getRelevance().getScore(), delta);
+ assertEquals(100.0, result.hits().get(3).getRelevance().getScore(), delta);
assertNotNull(result.hits().getError());
ErrorMessage e = result.hits().getError();
//TODO: Do not depend on sources order
assertEquals("Could not resolve source ref 'nonesuch'. Valid source refs are first, second.",
- e.getDetailedMessage());
-
-
+ e.getDetailedMessage());
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/ErrorHitRenderTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/ErrorHitRenderTestCase.java
index c5bb223cbe4..7c170cc59b3 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/ErrorHitRenderTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/ErrorHitRenderTestCase.java
@@ -6,28 +6,27 @@ import com.yahoo.search.result.DefaultErrorHit;
import com.yahoo.search.result.ErrorHit;
import com.yahoo.search.result.ErrorMessage;
import com.yahoo.text.XMLWriter;
+import org.junit.Test;
import java.io.StringWriter;
+import static org.junit.Assert.assertEquals;
+
/**
* Tests marking hit properties as XML
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
-public class ErrorHitRenderTestCase extends junit.framework.TestCase {
-
- public ErrorHitRenderTestCase(String name) {
- super(name);
- }
+public class ErrorHitRenderTestCase {
+ @Test
public void testXMLEscaping() throws java.io.IOException {
- ErrorHit h = new DefaultErrorHit("testcase",
- ErrorMessage.createUnspecifiedError("<>\"&"));
+ ErrorHit h = new DefaultErrorHit("testcase", ErrorMessage.createUnspecifiedError("<>\"&"));
StringWriter writer = new StringWriter();
SearchRendererAdaptor.renderMessageDefaultErrorHit(new XMLWriter(writer), h.errors().iterator().next());
assertEquals("<error source=\"testcase\" error=\"Unspecified error\" code=\"5\">&lt;&gt;\"&amp;</error>\n",
writer.toString());
-
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java
index 2b03825b934..bf86ca4544b 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java
@@ -3,7 +3,6 @@ package com.yahoo.prelude.searcher.test;
import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
-import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
import com.yahoo.prelude.fastsearch.FastHit;
import com.yahoo.prelude.query.AndItem;
@@ -23,23 +22,26 @@ import com.yahoo.search.result.HitGroup;
import com.yahoo.search.result.Relevance;
import com.yahoo.search.searchchain.Execution;
import com.yahoo.search.searchchain.testutil.DocumentSourceSearcher;
+import org.junit.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
/**
* Tests the FieldCollapsingSearcher class
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
@SuppressWarnings("deprecation")
-public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
-
- public FieldCollapsingSearcherTestCase (String name) {
- super(name);
- }
+public class FieldCollapsingSearcherTestCase {
private FastHit createHit(String uri,int relevancy,int mid) {
FastHit hit = new FastHit(uri,relevancy);
@@ -66,6 +68,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testFieldCollapsingWithoutHits() {
// Set up
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -82,6 +85,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
assertEquals(1, checker.queryCount);
}
+ @Test
public void testFieldCollapsingWithoutHitsHugeOffset() {
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -97,6 +101,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
assertEquals(1, checker.queryCount);
}
+ @Test
public void testFieldCollapsing() {
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -134,6 +139,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
assertHit("http://acme.org/g.html", 7,3,r.hits().get(3));
}
+ @Test
public void testFieldCollapsingTwoPhase() {
// Set up
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -169,6 +175,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
assertHit("http://acme.org/g.html", 7,3,r.hits().get(3));
}
+ @Test
public void testNoCollapsingIfNotAskedTo() {
// Set up
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -201,6 +208,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
* Tests that collapsing many hits from one site works, and without
* an excessive number of backend requests
*/
+ @Test
public void testCollapsingLargeCollection() {
// Set up
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -245,6 +253,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
/**
* Tests collapsing of "messy" data
*/
+ @Test
public void testCollapsingDispersedCollection() {
// Set up
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -289,6 +298,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
}
}
+ @Test
public void testQueryTransformAndCollapsing() {
// Set up
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -331,6 +341,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
// in the fill call, then saying the hits are filled for the
// ignored argument. Rewrite to contain different summaries if
// DocumentSourceSearcher gets extended.
+ @Test
public void testFieldCollapsingTwoPhaseSelectSummary() {
// Set up
Map<Searcher, Searcher> chained = new HashMap<>();
@@ -381,6 +392,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
assertHit("http://acme.org/g.html", 7,3,r.hits().get(3));
}
+ @Test
public void testFieldCollapsingWithGrouping() {
// Set up
FieldCollapsingSearcher collapse = new FieldCollapsingSearcher("other");
@@ -477,4 +489,5 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
return root;
}
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/MultipleResultsTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/MultipleResultsTestCase.java
index 8d427dfffa8..5c74e288d18 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/MultipleResultsTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/MultipleResultsTestCase.java
@@ -11,6 +11,10 @@ import com.yahoo.search.result.Hit;
import com.yahoo.search.result.HitGroup;
import com.yahoo.search.searchchain.Execution;
import com.yahoo.search.searchchain.testutil.DocumentSourceSearcher;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
/**
* Test of MultipleResultsSearcher
@@ -18,7 +22,7 @@ import com.yahoo.search.searchchain.testutil.DocumentSourceSearcher;
* @author tonytv
*/
@SuppressWarnings("deprecation")
-public class MultipleResultsTestCase extends junit.framework.TestCase {
+public class MultipleResultsTestCase {
private DocumentSourceSearcher docSource;
@@ -26,13 +30,14 @@ public class MultipleResultsTestCase extends junit.framework.TestCase {
private Chain<Searcher> chain;
- protected void setUp() {
+ @Before
+ public void setUp() {
docSource=new DocumentSourceSearcher();
searcher=new MultipleResultsSearcher();
chain=new Chain<>("multipleresultschain",searcher,docSource);
}
-
+ @Test
public void testRetrieveHeterogenousHits() {
Query query = createQuery();
@@ -57,6 +62,7 @@ public class MultipleResultsTestCase extends junit.framework.TestCase {
assertEquals( 3, docSource.getQueryCount() );
}
+ @Test
public void testRetrieveHitsForGroup() {
Query query = createQuery();
@@ -85,6 +91,7 @@ public class MultipleResultsTestCase extends junit.framework.TestCase {
assertEquals( 15, moviesGroup.size());
}
+ @Test
public void testNoHitsForResultSet() {
Query query = createQuery();
@@ -139,4 +146,5 @@ public class MultipleResultsTestCase extends junit.framework.TestCase {
query.getModel().setRestrict(restrictList);
return query;
}
+
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java
index 1b2838e4183..e2973f8ed65 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java
@@ -3,7 +3,6 @@ package com.yahoo.prelude.searcher.test;
import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
-import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
import com.yahoo.search.Query;
import com.yahoo.search.Result;
@@ -12,29 +11,29 @@ import com.yahoo.search.Searcher;
import com.yahoo.search.rendering.RendererRegistry;
import com.yahoo.search.result.ErrorHit;
import com.yahoo.search.searchchain.Execution;
+import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
+import static org.junit.Assert.assertEquals;
+
/**
- * Tests for the PosSearcher class.
+ * Tests for the PosSearcher
*
- * @author <a href="mailto:gunnarga@yahoo-inc.com">Gunnar Gauslaa Bergem</a>
+ * @author Gunnar Gauslaa Bergem
*/
@SuppressWarnings("deprecation")
-public class PosSearcherTestCase extends junit.framework.TestCase {
- private PosSearcher searcher = new PosSearcher();
- private Query q;
+public class PosSearcherTestCase {
- public PosSearcherTestCase(String name) {
- super(name);
- }
+ private final PosSearcher searcher = new PosSearcher();
/**
* Tests basic lat/long input.
*/
+ @Test
public void testBasics() {
- q = new Query();
+ Query q = new Query();
q.properties().set("pos.ll", "N0;E0");
doSearch(searcher, q, 0, 10);
assertEquals("(2,0,0,450668,0,1,0,4294967295)", q.getRanking().getLocation().toString());
@@ -48,8 +47,9 @@ public class PosSearcherTestCase extends junit.framework.TestCase {
/**
* Tests basic bounding box input.
*/
+ @Test
public void testBoundingBox() {
- q = new Query();
+ Query q = new Query();
q.properties().set("pos.bb", "n=51.9,s=50.2,e=0.34,w=-10.01");
doSearch(searcher, q, 0, 10);
assertEquals("[2,-10010000,50200000,340000,51900000]",
@@ -77,8 +77,9 @@ public class PosSearcherTestCase extends junit.framework.TestCase {
/**
* Tests basic bounding box input.
*/
+ @Test
public void testBoundingBoxAndRadius() {
- q = new Query();
+ Query q = new Query();
q.properties().set("pos.bb", "n=60.111,s=59.999,e=30.111,w=29.999");
q.properties().set("pos.ll", "N60;E30");
doSearch(searcher, q, 0, 10);
@@ -91,8 +92,9 @@ public class PosSearcherTestCase extends junit.framework.TestCase {
/**
* Tests different ways of specifying the radius.
*/
+ @Test
public void testRadiusUnits() {
- q = new Query();
+ Query q = new Query();
q.properties().set("pos.ll", "N0;E0");
q.properties().set("pos.radius", "2km");
doSearch(searcher, q, 0, 10);
@@ -121,8 +123,9 @@ public class PosSearcherTestCase extends junit.framework.TestCase {
/**
* Tests xy position (internal format).
*/
+ @Test
public void testXY() {
- q = new Query();
+ Query q = new Query();
q.properties().set("pos.xy", "22500;22500");
doSearch(searcher, q, 0, 10);
assertEquals("(2,22500,22500,5000,0,1,0)", q.getRanking().getLocation().toString());
@@ -134,24 +137,24 @@ public class PosSearcherTestCase extends junit.framework.TestCase {
assertEquals("(2,22500,22500,5000,0,1,0)", q.getRanking().getLocation().toString());
}
+ @Test
public void testNotOverridingOldStyleParameters() {
PosSearcher searcher = new PosSearcher();
- q = new Query("?query=test&pos.ll=N10.15;E6.08&location=(2,-1100222,0,300,0,1,0,CalcLatLon)");
+ Query q = new Query("?query=test&pos.ll=N10.15;E6.08&location=(2,-1100222,0,300,0,1,0,CalcLatLon)");
q.setTraceLevel(1);
doSearch(searcher, q, 0, 10);
assertEquals("(2,-1100222,0,300,0,1,0,4294967295)", q.getRanking().getLocation().toString());
- //assertEquals("query already has a location set, not processing 'pos' params",
- // result.getHit(0).getFeedback(0));
}
/**
* Tests input parameters that should report errors.
*/
+ @Test
public void testInvalidInput() {
PosSearcher searcher = new PosSearcher();
Result result;
- q = new Query();
+ Query q = new Query();
q.properties().set("pos.ll", "NE74.14;E14.48");
result = doSearch(searcher, q, 0, 10);
assertEquals("Error in pos parameters: Unable to parse lat/long string 'NE74.14;E14.48': already set direction once, cannot add direction: E",
@@ -165,8 +168,9 @@ public class PosSearcherTestCase extends junit.framework.TestCase {
((ErrorHit)result.hits().get(0)).errors().iterator().next().getDetailedMessage());
}
+ @Test
public void testWrappingTheNorthPole() {
- q = new Query();
+ Query q = new Query();
q.properties().set("pos.ll", "N89.9985365158;E122.163600102");
q.properties().set("pos.radius", "20mi");
doSearch(searcher, q, 0, 10);
diff --git a/container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java b/container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java
index d799363949d..939dd7ab42c 100644
--- a/container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java
+++ b/container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java
@@ -31,6 +31,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.*;
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/FieldPathUpdateAdapter.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/FieldPathUpdateAdapter.java
index 01cc296472a..add7e9811af 100644
--- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/FieldPathUpdateAdapter.java
+++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/FieldPathUpdateAdapter.java
@@ -16,7 +16,7 @@ import java.util.List;
import java.util.Map;
/**
- * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
+ * @author Simon Thoresen
*/
public class FieldPathUpdateAdapter implements UpdateAdapter {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
index a24c282d48a..d957f4c0e25 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
@@ -390,7 +390,8 @@ public class NodeRepository extends AbstractComponent {
public Node setDirty(String hostname, Agent agent, String reason) {
Node node = getNode(hostname, Node.State.provisioned, Node.State.failed, Node.State.parked).orElseThrow(() ->
- new IllegalArgumentException("Could not deallocate " + hostname + ": No such node in the provisioned, failed or parked state"));
+ new IllegalArgumentException("Could not deallocate " + hostname +
+ ": No such node in the provisioned, failed or parked state"));
return setDirty(node, agent, reason);
}
@@ -482,7 +483,7 @@ public class NodeRepository extends AbstractComponent {
* Should only be called by node-admin for docker containers
*/
public List<Node> markNodeAvailableForNewAllocation(String hostname) {
- Node node = getNode(hostname).orElseThrow(() -> new NotFoundException("No node with hostname \"" + hostname + '"'));
+ Node node = getNode(hostname).orElseThrow(() -> new NotFoundException("No node with hostname '" + hostname + "'"));
if (node.flavor().getType() != Flavor.Type.DOCKER_CONTAINER) {
throw new IllegalArgumentException(
"Cannot make " + hostname + " available for new allocation, must be a docker container node");
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
index d605958d6bc..e5d1bb98936 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
@@ -274,7 +274,8 @@ public class NodeFailer extends Maintainer {
catch (RuntimeException e) {
// The expected reason for deployment to fail here is that there is no capacity available to redeploy.
// In that case we should leave the node in the active state to avoid failing additional nodes.
- nodeRepository().reactivate(node.hostname(), Agent.system, "Failed to redeploy after being failed by NodeFailer");
+ nodeRepository().reactivate(node.hostname(), Agent.system,
+ "Failed to redeploy after being failed by NodeFailer");
log.log(Level.WARNING, "Attempted to fail " + node + " for " + node.allocation().get().owner() +
", but redeploying without the node failed", e);
return false;
@@ -294,7 +295,7 @@ public class NodeFailer extends Maintainer {
.filter(failedEvent -> failedEvent.at().isAfter(startOfThrottleWindow))
.count();
int allowedFailedNodes = (int) Math.max(nodes.size() * throttlePolicy.fractionAllowedToFail,
- throttlePolicy.minimumAllowedToFail);
+ throttlePolicy.minimumAllowedToFail);
boolean throttle = allowedFailedNodes < recentlyFailedNodes ||
(allowedFailedNodes == recentlyFailedNodes && !node.type().isDockerHost());
diff --git a/searchlib/src/main/javacc/RankingExpressionParser.jj b/searchlib/src/main/javacc/RankingExpressionParser.jj
index 1ad8706aa2f..0ae12b14f30 100755
--- a/searchlib/src/main/javacc/RankingExpressionParser.jj
+++ b/searchlib/src/main/javacc/RankingExpressionParser.jj
@@ -274,14 +274,16 @@ ReferenceNode feature() :
{ return new ReferenceNode(name, args, out); }
}
-// Query features can be referenced as "$name" instead of "query(name)". TODO: Warn this is deprecated
+// Rank properties are referenced by $propertyname
ReferenceNode legacyQueryFeature() :
{
String name;
}
{
( <DOLLAR> name = identifier() )
- { return new ReferenceNode("query", Arrays.asList((ExpressionNode)new NameNode(name)), null); }
+ {
+ return new ReferenceNode("query", Arrays.asList((ExpressionNode)new NameNode(name)), null);
+ }
}
String outs() :
diff --git a/yolean/src/main/java/com/yahoo/yolean/concurrent/CopyOnWriteHashMap.java b/yolean/src/main/java/com/yahoo/yolean/concurrent/CopyOnWriteHashMap.java
index acdf668cdf5..b3599903714 100644
--- a/yolean/src/main/java/com/yahoo/yolean/concurrent/CopyOnWriteHashMap.java
+++ b/yolean/src/main/java/com/yahoo/yolean/concurrent/CopyOnWriteHashMap.java
@@ -13,7 +13,6 @@ import java.util.Set;
* map reference is volatile, but on most multi-cpu machines that has no cost unless modified.</p>
*
* @author baldersheim
- * @since 5.2
*/
public class CopyOnWriteHashMap<K, V> implements Map<K, V> {