// Path: src/main/java/io/aif/language/common/ISearchable.java
// public interface ISearchable<T, R> {
// 
//   public Optional<R> search(final T subject);
// 
// }
// 
// Path: src/main/java/io/aif/language/word/IWord.java
// public interface IWord {
// 
//   public String getRootToken();
// 
//   public Set<String> getAllTokens();
// 
//   public Long getCount();
// 
//   public int getTokenCount(String token);
// 
//   public static interface IWordPlaceholder {
// 
//     public IWord getWord();
// 
//     public String getToken();
// 
//   }
// 
// }


import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import io.aif.language.common.IDict;
import io.aif.language.common.ISearchable;
import io.aif.language.word.IWord;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
package io.aif.language.word.dict;





public class DictTest {

  private Map<String, List<String>> fixture;

  @BeforeTest
  public void setUp() {
    fixture = new HashMap<>();
    fixture.put("hey", Arrays.asList("hey", "heya", "freya"));
    fixture.put("see", Arrays.asList("see", "unseen", "foreseen", "seen", "seered"));
    fixture.put("back", Arrays.asList("back", "backward", "backer", "backpack"));
  }

  @Test(groups = "unit-tests", enabled = false)
  public void getWords() throws Exception {
// Path: src/main/java/io/aif/language/common/ISearchable.java
// public interface ISearchable<T, R> {
// 
//   public Optional<R> search(final T subject);
// 
// }
// 
// Path: src/main/java/io/aif/language/word/IWord.java
// public interface IWord {
// 
//   public String getRootToken();
// 
//   public Set<String> getAllTokens();
// 
//   public Long getCount();
// 
//   public int getTokenCount(String token);
// 
//   public static interface IWordPlaceholder {
// 
//     public IWord getWord();
// 
//     public String getToken();
// 
//   }
// 
// }


// Path: src/test/unit/java/io/aif/language/word/dict/DictTest.java
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import io.aif.language.common.IDict;
import io.aif.language.common.ISearchable;
import io.aif.language.word.IWord;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;

package io.aif.language.word.dict;





public class DictTest {

  private Map<String, List<String>> fixture;

  @BeforeTest
  public void setUp() {
    fixture = new HashMap<>();
    fixture.put("hey", Arrays.asList("hey", "heya", "freya"));
    fixture.put("see", Arrays.asList("see", "unseen", "foreseen", "seen", "seered"));
    fixture.put("back", Arrays.asList("back", "backward", "backer", "backpack"));
  }

  @Test(groups = "unit-tests", enabled = false)
  public void getWords() throws Exception {
    Set<IWord> words = fixture