@Before
  public void setUp() throws Exception {
    settings = new ScribbleSettings("test", Language.EN, 3);

    editor.add('a', 3, 1); // 0-2
    editor.add('b', 3, 2); // 3-5
    editor.add('c', 3, 3); // 6-8
    editor.add('d', 3, 4); // 9-11
    editor.add('e', 3, 5); // 12-14
    editor.add('f', 3, 6); // 15-17
    editor.add('g', 3, 7); // 18-20
    editor.add('m', 13, 0);
  }
  @Test
  public void testCreateBoardImpl() throws BoardCreationException {
    final ScribbleSettings settings = new ScribbleSettings("Mock", Language.EN, 3);

    final Dictionary dictionary = createNiceMock(Dictionary.class);
    replay(dictionary);

    final TilesBankInfoEditor editor = new TilesBankInfoEditor(Language.EN);
    final TilesBank tilesBank = new TilesBank(editor.add('A', 100, 1).createTilesBankInfo());

    expect(dictionaryManager.getDictionary(Language.EN)).andReturn(dictionary);
    replay(dictionaryManager);

    expect(tilesBankingHouse.createTilesBank(Language.EN, 2, true)).andReturn(tilesBank);
    replay(tilesBankingHouse);

    scribblePlayManager.setDictionaryManager(dictionaryManager);
    scribblePlayManager.setTilesBankingHouse(tilesBankingHouse);

    final ScribbleBoard board1 =
        scribblePlayManager.createBoardImpl(settings, Arrays.asList(player1, player2), null);
    assertNotNull(board1);

    verify(dictionaryManager);
    verify(tilesBankingHouse);
  }
 private TilesBank createTilesBank(String tiles, int stubChars) {
   final TilesBankInfoEditor editor = new TilesBankInfoEditor(Language.EN);
   String s = "*qwertyuiopasdfghjklzxcvbnm";
   for (char c : s.toCharArray()) {
     int count = 0;
     int index = -1;
     while ((index = tiles.indexOf(c, index + 1)) != -1) {
       count++;
     }
     if (count != 0) {
       final int cost = (c == '*' ? 0 : 1);
       editor.add(c, count, cost);
     }
   }
   editor.add('z', stubChars, 1);
   return new TilesBank(editor.createTilesBankInfo());
 }