@Test
  public void testConstructor() {
    reset(wordDaoMock);
    when(wordDaoMock.findAll()).thenReturn(wordsToReturn);

    BasicWordMapDao basicWordMapDao = new BasicWordMapDao(wordDaoMock, -1);

    assertEquals(10, basicWordMapDao.getPartOfSpeechWordMap().size());
    assertEquals(10, basicWordMapDao.getLengthWordMap().size());

    boolean wordFoundByPartOfSpeech;
    boolean wordFoundByLength;
    for (Word word : wordsToReturn) {
      wordFoundByPartOfSpeech = false;
      wordFoundByLength = false;

      for (ArrayList<Word> wordsByPartOfSpeech :
          basicWordMapDao.getPartOfSpeechWordMap().values()) {
        if (wordsByPartOfSpeech.contains(word)) {
          wordFoundByPartOfSpeech = true;
        }
      }
      for (ArrayList<Word> wordsByLength : basicWordMapDao.getLengthWordMap().values()) {
        if (wordsByLength.contains(word)) {
          wordFoundByLength = true;
        }
      }
      assertTrue(wordFoundByPartOfSpeech);
      assertTrue(wordFoundByLength);
    }
  }
  @BeforeClass
  public static void setUp() {
    wordDaoMock = mock(WordDao.class);

    word1 = new Word("I", PartOfSpeechType.NOUN);
    wordsToReturn.add(word1);
    word2 = new Word("am", PartOfSpeechType.PLURAL);
    wordsToReturn.add(word2);
    word3 = new Word("the", PartOfSpeechType.NOUN_PHRASE);
    wordsToReturn.add(word3);
    word4 = new Word("best", PartOfSpeechType.VERB_PARTICIPLE);
    wordsToReturn.add(word4);
    word5 = new Word("homie", PartOfSpeechType.VERB_TRANSITIVE);
    wordsToReturn.add(word5);
    word6 = new Word("hollah", PartOfSpeechType.VERB_INTRANSITIVE);
    wordsToReturn.add(word6);
    word7 = new Word("seventy", PartOfSpeechType.ADJECTIVE);
    wordsToReturn.add(word7);
    word8 = new Word("trillion", PartOfSpeechType.ADVERB);
    wordsToReturn.add(word8);
    word9 = new Word("benjamins", PartOfSpeechType.CONJUNCTION);
    wordsToReturn.add(word9);
    word10 = new Word("investment", PartOfSpeechType.PREPOSITION);
    wordsToReturn.add(word10);

    when(wordDaoMock.findAll()).thenReturn(wordsToReturn);

    basicWordMapDao = new BasicWordMapDao(wordDaoMock, -1);

    verify(wordDaoMock, times(1)).findAll();
  }