### Question:
TransitionMapBaseDictionary extends AbstractMapBaseDictionary { @Override protected Map<CharSequence, Map<CharSequence, Double>> loadText(DictionaryTextSource source) throws Exception { Map<CharSequence, Integer> posFreqMap = source.getPosFreqMap(); Map<CharSequence, Map<CharSequence, Double>> map = new HashMap<>(); try (BufferedReader in = new BufferedReader( new InputStreamReader( Files.newInputStream(source.getFilePath()), source.getCharSet()))) { String line = null; while((line = in.readLine()) != null) { line = line.trim(); if(line.isEmpty()) continue; int tabIndex = line.lastIndexOf('\t'); if(tabIndex < 0 || tabIndex+1 >= line.length()) continue; String prePos = line.substring(0, tabIndex); Integer prePosFreq = posFreqMap.get(prePos); if(prePosFreq == null) prePosFreq = 1; String data = line.substring(tabIndex+1).replaceAll("\\s+", ""); String[] nextPoses = data.split(","); if(nextPoses.length == 0) continue; Map<CharSequence, Double> nextPosMap = new HashMap<>(); for(int i=0; i<nextPoses.length; i++) { String transitionData = nextPoses[i]; int colonIndex = transitionData.indexOf(':'); if(colonIndex < 0 || colonIndex+1 >= transitionData.length()) continue; String nextPos = transitionData.substring(0, colonIndex); Integer nextPosFreq = Integer.parseInt(transitionData.substring(colonIndex+1)); int tempPrePosFreq = prePosFreq; if(Pos.NNP.label().equals(nextPos)) { tempPrePosFreq += 100000; nextPosFreq += 100000; } nextPosMap.put(nextPos, Math.log10(nextPosFreq/(double)tempPrePosFreq)); } map.put(prePos, nextPosMap); } } return Collections.unmodifiableMap(map); } TransitionMapBaseDictionary(DictionaryTextSource source);  TransitionMapBaseDictionary(DictionaryBinarySource source); Map<CharSequence, Map<CharSequence, Double>> getTransitionMap();  }### Answer:
@Test public void loadText() throws Exception { Map<CharSequence, Double> resultMap = tmbd.getFully("XSV"); Assert.assertEquals(resultMap.size(), 7); }