diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-06-15 23:09:44 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-06-15 23:09:44 +0200 |
commit | 72231250ed81e10d66bfe70701e64fa5fe50f712 (patch) | |
tree | 2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /container-search/src/test/java/com/yahoo/prelude/query/WordAlternativesItemTestCase.java |
Publish
Diffstat (limited to 'container-search/src/test/java/com/yahoo/prelude/query/WordAlternativesItemTestCase.java')
-rw-r--r-- | container-search/src/test/java/com/yahoo/prelude/query/WordAlternativesItemTestCase.java | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/WordAlternativesItemTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/WordAlternativesItemTestCase.java new file mode 100644 index 00000000000..63f8af96bd0 --- /dev/null +++ b/container-search/src/test/java/com/yahoo/prelude/query/WordAlternativesItemTestCase.java @@ -0,0 +1,74 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.prelude.query; + +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Test; + +import com.yahoo.prelude.query.WordAlternativesItem.Alternative; + +/** + * Functional test for the contracts in WordAlternativesItem. + * + * @author steinar + */ +public class WordAlternativesItemTestCase { + + @Test + public final void testWordAlternativesItem() { + List<Alternative> terms = new ArrayList<>(); + List<Alternative> expected; + terms.add(new Alternative("1", 1.0)); + terms.add(new Alternative("2", 1.0)); + terms.add(new Alternative("3", 1.0)); + terms.add(new Alternative("4", 1.0)); + expected = new ArrayList<>(terms); + terms.add(new Alternative("1", .1)); + terms.add(new Alternative("2", .2)); + terms.add(new Alternative("3", .3)); + terms.add(new Alternative("4", .4)); + WordAlternativesItem w = new WordAlternativesItem("", true, null, terms); + assertEquals(expected, w.getAlternatives()); + } + + @Test + public final void testSetAlternatives() { + List<Alternative> terms = new ArrayList<>(); + terms.add(new Alternative("1", 1.0)); + terms.add(new Alternative("2", 1.0)); + WordAlternativesItem w = new WordAlternativesItem("", true, null, terms); + terms.add(new Alternative("1", 1.5)); + terms.add(new Alternative("2", 0.5)); + w.setAlternatives(terms); + assertTrue("Could not overwrite alternative", + w.getAlternatives().stream().anyMatch((a) -> a.word.equals("1") && a.exactness == 1.5)); + assertTrue("Old alternative unexpectedly removed", + w.getAlternatives().stream().anyMatch((a) -> a.word.equals("2") && a.exactness == 1.0)); + assertEquals(2, w.getAlternatives().size()); + terms.add(new Alternative("3", 0.5)); + w.setAlternatives(terms); + assertTrue("Could not add new term", + w.getAlternatives().stream().anyMatch((a) -> a.word.equals("3") && a.exactness == 0.5)); + } + + @Test + public final void testAddTerm() { + List<Alternative> terms = new ArrayList<>(); + terms.add(new Alternative("1", 1.0)); + terms.add(new Alternative("2", 1.0)); + WordAlternativesItem w = new WordAlternativesItem("", true, null, terms); + w.addTerm("1", 0.1); + assertEquals(terms, w.getAlternatives()); + w.addTerm("1", 2.0); + assertTrue("Could not add new alternative", + w.getAlternatives().stream().anyMatch((a) -> a.word.equals("1") && a.exactness == 2.0)); + assertEquals(2, w.getAlternatives().size()); + w.addTerm("3", 0.5); + assertTrue("Could not add new term", + w.getAlternatives().stream().anyMatch((a) -> a.word.equals("3") && a.exactness == 0.5)); + } + +} |