test_class.declarator: tester = new Anagrams()
test_class.original_string: Anagrams tester = new Anagrams();
test_class.type: Anagrams
test_class.var_name: tester
test_class.file: pearls/02_algorithms/src/AnagramsTest.java
test_class.identifier: AnagramsTest
test_case.body: @Test
  	public void testGetAnagrams() {
  		List<String> anagrams = tester.getAnagrams("caret");
  		assertTrue(anagrams.contains("cater"));
  		assertTrue(anagrams.contains("crate"));
  		assertTrue(anagrams.contains("react"));
  		assertTrue(anagrams.contains("recta"));
  		assertTrue(anagrams.contains("trace"));
  	}
test_case.class_method_signature: AnagramsTest.testGetAnagrams()
test_case.full_signature: @Test public void testGetAnagrams()
test_case.identifier: testGetAnagrams
test_case.invocations: getAnagrams assertTrue contains assertTrue contains assertTrue contains assertTrue contains assertTrue contains
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetAnagrams()
focal_class.declarator: DICT_LOCATION = "/usr/share/dict/words"
focal_class.modifier: static
focal_class.original_string: static String DICT_LOCATION = "/usr/share/dict/words";
focal_class.type: String
focal_class.var_name: DICT_LOCATION
focal_class.declarator: signatureToWord
focal_class.modifier: private
focal_class.original_string: private Map<String, List<String>> signatureToWord;
focal_class.type: Map<String, List<String>>
focal_class.var_name: signatureToWord
focal_class.file: pearls/02_algorithms/src/Anagrams.java
focal_class.identifier: Anagrams
focal_class.class_method_signature: Anagrams.getAnagrams(String word)
focal_class.full_signature: public List<String> getAnagrams(String word)
focal_class.identifier: getAnagrams
focal_class.modifiers: public
focal_class.parameters: (String word)
focal_class.return: List<String>
focal_class.signature: List<String> getAnagrams(String word)
focal_class.class_method_signature: Anagrams.Anagrams()
focal_class.full_signature:   Anagrams()
focal_class.identifier: Anagrams
focal_class.parameters: ()
focal_class.signature:  Anagrams()
focal_class.class_method_signature: Anagrams.populateWords()
focal_class.full_signature: private void populateWords()
focal_class.identifier: populateWords
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void populateWords()
focal_class.class_method_signature: Anagrams.getSignature(String word)
focal_class.full_signature: private String getSignature(String word)
focal_class.identifier: getSignature
focal_class.modifiers: private
focal_class.parameters: (String word)
focal_class.return: String
focal_class.signature: String getSignature(String word)
focal_method.body: public List<String> getAnagrams(String word) {
  		String signature = getSignature(word);
  		//System.out.println("word: " + word + ", signature: " + signature);
  		if (!signatureToWord.containsKey(signature)) {
  			return null;
  		}
  		List<String> anagrams = signatureToWord.get(signature);
  		//System.out.println("anagrams: " + anagrams);
  		
  		// return a defensive copy.
  		return new ArrayList<String>(anagrams);
  	}
focal_method.class_method_signature: Anagrams.getAnagrams(String word)
focal_method.full_signature: public List<String> getAnagrams(String word)
focal_method.identifier: getAnagrams
focal_method.invocations: getSignature containsKey get
focal_method.modifiers: public
focal_method.parameters: (String word)
focal_method.return: List<String>
focal_method.signature: List<String> getAnagrams(String word)